terça-feira, 6 de abril de 2010

Criando Site Simples #2 - Menu em xml

Minha ideia é fazer algo que realmente possa ser utilizado com um impacto visual agradável e simples e aos poucos vou mudando e explicando como mudar. Neste caso aqui temos o menu que é aplicado no site mas pode ser usado em um projeto seu.

Código do menu
carregaXML = new XML();
carregaXML.ignoreWhite = true;
carregaXML.onLoad = function(sucesso) {
	if (sucesso) {
		var qtd = this.firstChild.childNodes.length;
		var pos_x = 0;
		for (var i = 0; i/*<*/qtd; i++) {
			//aqui vai até o nó menu
			var raiz = this.firstChild.childNodes[i];
			//duplicando o mc 'textMenu' dentro do mc 'menuMc'
			menuMc.textMenu.duplicateMovieClip("textMenu"+i,i+1);
			//atribuindo a varialvel 'alvo' o corrente target
			alvo = menuMc["textMenu"+i];
			//no xml listaMenu - menu - titulo 
			alvo.titulo.htmlText = raiz.childNodes[0].lastChild.nodeValue;
			//no xml listaMenu - menu - Link
			alvo.Link = raiz.childNodes[1].lastChild.nodeValue;
			//incrementando a posição do alvo _x
			alvo._x += pos_x;
			//'pos_x' mais a largura do texto +30
			pos_x += alvo.titulo.textWidth+30;
			//o bt ficar da largura do texto +7
			alvo.bt._width = alvo.titulo.textWidth+7;
		}
		//como não uso o primeiro mc 'textMenu' eu escondo
		textMenu._visible = false;
	} else {
		//se de erro no carregamento do xml
		trace("ERRO NO XML");
	}
};
carregaXML.load("menu.xml");
Botão
on (release) {
	trace(this.Link+" - _x:"+this._x);
}
XML




	

        HOME]]>

 	 	01
    
	
        VÍDEOS]]>
 	 	02
    
	
        PORTFÓLIO]]>
 	 	03
    
	
        FORUM]]>
 	 	04
    
	
        DICAS]]>
 	 	05
    
	
        CONTATO]]>
 	 	06
    

Veja a demo Baixe o souce

segunda-feira, 5 de abril de 2010

Manual Adobe em pdf

Manual em português direto do site da Adobe:
Uso do ADOBE® FLASH® CS4 PROFESSIONAL
Programação do ADOBE® ACTIONSCRIPT® 3.0
para quem esta afim de estudar Actionscript 3.0 como eu olha ai esse material vale bem a pena der ter a mão.

quinta-feira, 1 de abril de 2010

Criando Site Simples #1 - Alinhar Objetos

Minha ideia é mais dividir o projeto em partes, fazer um site completo com todos os elementos voltado para o uso e não coisa que não servem para nada, mas são muito bonitas e na momento de utilizar só da problemas.

O código
_quality = "HIGH";
Stage.scaleMode = 'noScale';
Stage.align = 'tl';
EventListener = new Object();
EventListener.onResize = function() {
 logo._x = 20;
 logo._y = 20;

 menuMc._x = 0;
 menuMc._y = int((Stage.height)-int(menuMc._height));
 menuMc.menuMcBg._width = Stage.width;

 conteudo._x = int((Stage.width/2)-int(conteudo._width/2));
 conteudo._y = int((Stage.height/2)-int(conteudo._height/2));

 fundo._x = 0
 fundo._y = 0;
 fundo._width = Stage.width;
 fundo._height = Stage.height;
};
Stage.addListener(EventListener);
EventListener.onResize();

Veja a demo
Baixe o souce

terça-feira, 30 de março de 2010

ActionScript 3 migration cookbook

O ActionScript 3 migration cookbook beta em pdf da própria Adobe baixe aqui nesta página nele vai ver exemplos em AS2 convertidos para AS3, muito bom para quem esta estudando ActionScript 3.0, o link direto do pdf aqui. Mas vale apena entrar na página e conferir os samples do 3.0.

Personalizar fontes em títulos

Uma boa pra quem quer personalizar os títulos do seu blog ou site e sair um poco dos padrões de texto web é o sifr3 aqui uma demo dele que utilizo em meu outro blog o Poese. Customizando uma fonte em um swf e podendo dar um ar diferente a seu projeto.

smoothImageLoader

Esse scrip é um para quem problema em carregar imagens externas e depois redimensionar, os créditos não são meus achei ele no site frontend-multimedia estou aqui apenas propagando um bom código.

Aqui a função:
_global.smoothImageLoad = function(imgURL, targetMovie) {
var i = 0;
do {
i++;
} while (eval("_root.smoothImageLoadTemp"+i) != undefined);
tmc = _root.createEmptyMovieClip("smoothImageLoadTemp"+i, _root.getNextHighestDepth());
tmc.createEmptyMovieClip("ti",tmc.getNextHighestDepth());
tmc.tm = targetMovie;
with (tmc) {
tmcl = new MovieClipLoader();
tmcl.onLoadComplete = function() {
ti.onEnterFrame = function() {
pixelData = new flash.display.BitmapData(ti._width, ti._height);
pixelData.draw(ti);
tm.attachBitmap(pixelData,1,true,true);
tm.smoothImageLoadComplete();
removeMovieClip(ti._parent);
};
};
tmcl.loadClip(imgURL,tmc.ti);
}
};

Aqui você chama a imagem e o movie clip alvo.
smoothImageLoad("image.jpg", mytargetmc)

Um trace básico pra ver se deu carto.
mytargetmc.smoothImageLoadComplete = function() {
trace("opa deu certo!")
}

Efeito de agua no flash AS2

Depois de muito tempo sem dar atenção aqui para este blog vou deixar uns problem solving, do dia-a-dia por aqui.

Aqui um afeito de água no flash dei uma arrumadinha no que achei site rainelaw é bem simples de aplicar para este caso.
1. Crie um novo documento 256px X 256px;
2. importe uma imagem do mesmo tamanho para a livraria do flash

3. aperte ALT+L na clique com botão direito na imagem va em "Linkage Properties";
4. Em "Identifier" de o nome "surface" e marque o check box "Export for ActionScript" e "Export in first frame";
5. cole a action a baixo no primeiro frame:
var damper = new flash.display.BitmapData(128, 128, false, 128);
var result = new flash.display.BitmapData(128, 128, false, 128);
var result2 = new flash.display.BitmapData(256, 256, false, 128);
var source = new flash.display.BitmapData(128, 128, false, 128);
var buffer = new flash.display.BitmapData(128, 128, false, 128);
var output = new flash.display.BitmapData(256, 256, true, 128);
var surface = flash.display.BitmapData.loadBitmap("surface");
var bounds = new flash.geom.Rectangle(0, 0, 128, 128);
var origin = new flash.geom.Point();
var matrix = new flash.geom.Matrix();
var matrix2 = new flash.geom.Matrix();
matrix2.a = matrix2.d=2;
var wave = new flash.filters.ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0);
var damp = new flash.geom.ColorTransform(0, 0, 9.960937E-001, 1, 0, 0, 2, 0);
var water = new flash.filters.DisplacementMapFilter(result2, origin, 4, 4, 48, 48, "ignore");
attachBitmap(output,0);
var ms = getTimer();
var frame = 0;
var mouseDown = false;
onMouseDown = function () {
mouseDown = true;
};
onMouseUp = function () {
onEnterFrame();
mouseDown = false;
};
onEnterFrame = function () {
if (mouseDown) {
var xmouse = _xmouse/2;
var ymouse = _ymouse/2;
vv += 10;
v -= 10;
source.setPixel(xmouse+vv,ymouse,16777215);
source.setPixel(xmouse+v,ymouse,16777215);
source.setPixel(xmouse,ymouse+vv,16777215);
source.setPixel(xmouse,ymouse+v,16777215);
source.setPixel(xmouse,ymouse,16777215);
}
result.applyFilter(source,bounds,origin,wave);
result.draw(result,matrix,null,"add");
result.draw(buffer,matrix,null,"difference");
result.draw(result,matrix,damp);
result2.draw(result,matrix2,null,null,null,true);
output.applyFilter(surface,new flash.geom.Rectangle(0, 0, 256, 256),origin,water);
buffer = source;
source = result.clone();
}; 

Veja a demo
Baixe o souce