Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eder Fortunato

Trabalhando com Action Script 3.0

Recommended Posts

Olá pessoal

 

Comecei a dar uma estudada no action script 3.0 http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif , e pude perceber as mudanças que foram feitas, as alterações não foram tão grandes assim, eu diria que agora esta mais estruturada, algumas classes foram desmembradas em outras com fins específicos (como a MovieCLip)

 

 

 

vai ai alguns exemplos de mudanças e melhorias da nova linguagem

 

 

 

 

-Mudar o frame ratehttp://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

 

Pois é pessoal agora é possível mudar a quantidade de frames por segundo em tempo de execução, os valores validos estão entre 0.01 e 1000

 

stage.frameRate = 12;

 

-Memória sendo utilizada:D

 

Para saber o quanto de memoria RAM(em bytes) seu filme esta usando enquanto roda use a propriedade System.totalMemory, aproveitando vou colocar como usar o onEnterFrame

 

function onEnter(event:flash.events.Event ) {	//Mostra quando de memória esta sendo usada	trace(System.totalMemory); }addEventListener(flash.events.Event.ENTER_FRAME , onEnter);

 

 

-Carregando variáveis de um arquivo txt

 

 

 

A classe LoadVars deu lugar para a URLLoader que também é usada para carregar arquivos XML, mas não para manipulação deles, para isso ainda existe a classe XML

 

Um exemplo de carregamento de txt:

 

 

Crie um arquivo texto com o seguinte conteúdo

 

nome=maria&idade=25

 

e salve como "arquivo.txt", na mesma pasta onde esta o seu .FLA

 

o código para carregar é esse

 

 

//cria o objeto com o endereço(URL) a ser carregadovar endereco:URLRequest = new URLRequest("arquivo.txt")//cria o objeto que carregarávar loader:URLLoader = new URLLoader();//Específica o tipo de dado a ser carregadoloader.dataFormat = URLLoaderDataFormat.VARIABLES;//Função a ser executada quando o carregamento acabarfunction loadCompleto(event:Event):void {	trace(loader.data.nome); 		trace(loader.data.idade); }//adiciona a função ao Listenerloader.addEventListener(Event.COMPLETE, loadCompleto);//carrega o arquivo txtloader.load(endereco);

 

 

 

-Carregando arquivo XML no action script 3

 

 

Para carregamento de XML, é preciso usar 2 classes, a URLLoader para carregar o arquivo e a XML para manipula-lo, na XML aconteceram algumas modificações, no modo de acessar os nós, agora é preciso utilizar o nome de cada nó, e não mais childNodes, a propriedade ignoreWhite(que agora é ignoreWhitespace), já vem por default habilitada (e já não era hora :P )

 

 

//cria o objeto com o endereço(URL) a ser carregadovar endereco:URLRequest = new URLRequest("agenda.xml")//cria o objeto que carregarávar loader:URLLoader = new URLLoader();function onComplete(event:Event) {	var agenda = new XML(event.target.data);	var total = agenda.pessoa.length();	for (var i=0; i<total; i++) {		//os atributos dos nós são acessado com um "@" antes no nome		trace('cod: '  + agenda.pessoa[i].@cod);		//os valores do nós são acessado pelo próprio nome		trace('nome: ' + agenda.pessoa.nome[i]);		trace('fone: ' + agenda.pessoa.telefone[i]);		trace('---------------------');	}}loader.addEventListener(Event.COMPLETE, onComplete);loader.load(endereco);

 

 

 

 

 

-Laço for...in(não sei vocês mas eu uso muito) http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

o for...in também sofreu mudanças, agora você tem que especificar o tipo do objeto, se é um array, ou um objeto

 

 

listando os elementos de um array:

 

var array:Array = new Array();array[1] = 1;array[0] = 2;array[2] = 3;for (var key:String in array){	trace("array[" + key + "] = "+ array[key]);}
listando as propriedades de um objeto

 

var pessoa:Object = new Object();pessoa.name = "maria";pessoa.idade = 25;for (var key:String in pessoa){	trace(key + ": " + pessoa[key]); }

 

 

-Usando FlashVars no action script 3

 

no HTML não mudou nada, você só precisa passar as variaveis como se fosse uma url

 

<PARAM NAME=movie VALUE="teste.swf?nome=maria&idade=25">

e na tag embed

<EMBED SRC="teste.swf?nome=maria&idade=25" .......>

 

 

agora dentro do flash

 

//pega os dados que foram passadosvar paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;//instancia uma caixa de textovar caixa=new TextField()caixa.width = 500//pega os valors e insere na caixa de texto   caixa.text  = "nome: "	+ paramObj.nomecaixa.text  += ", idade: " +  paramObj.idade//adiciona a caixa de texto no palcoaddChild(caixa);

 

 

 

 

-Desenhando com action script 3

 

A API usada para desenhar no flash ganhou algumas funções para facilitar a nossa vida, não temos mais que usar fórmulas e mais formulas para desenhar um círculo ou um quadrado com cantos arredondados, basta uma linha e pronto.http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Um outro detalhe usado no código abaixo é a classe Sprite, pense nela como um movieClip usado apenas como contêiner para outros movieClips e objetos na tela, ela possui bem menos funções que a classe movieCLip, mas em compensação é mais leve

 

var fomas:Sprite = new Sprite();fomas.graphics.beginFill(0x339999);//  desenha um quadradofomas.graphics.drawRect(10, 100, 100, 50);// desenha um quadrado com cantos arredondadosfomas.graphics.drawRoundRect(150, 100, 100, 50, 20, 20);// desenha um circulofomas.graphics.drawCircle(300, 125, 25)// desenha uma elipsefomas.graphics.drawEllipse(350,100,100, 50)fomas.graphics.endFill();addChild(fomas);

 

 

 

 

 

-Preloader com action script 3

 

 

 

Agora existe uma classe específica para carregar arquivos .SWF, .JPG, .PNG ou .GIF (de adeus a MovieClipLoader)

Nesse exemplo estou carregando dentro de um movieClip chamado holder_mc

 

//cria o objeto com o endereço(URL) a ser carregadovar endereco:URLRequest = new URLRequest("filme.swf");//cria o objeto que carregarávar carregador:Loader = new Loader();//função a ser executada enquado carrega a swffunction onProgress(event:ProgressEvent):void {	var percentagem:Number = event.bytesLoaded / event.bytesTotal;	 percentagem = Math.round( percentagem * 100);	trace("Carregamento em: " + percentagem + "%");}//função a ser executada no final do arregamentofunction onComplete(event:Event):void {	//muda a posição do swf carregado	var mc = event.target.content	mc.x = 100	mc.y = 100		trace("carregou")}//adiciona os ouvintes ao objeto carregadorcarregador.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);carregador.load(endereco);//adiciona o swf carregado no movieClip que ja está no palcoholder_mc.addChild(carregador);

 

 

 

 

 

por enquanto é isso, na medida que eu for aprendendo irei postar aqui as novidades, recomendo pra quer for começar agora alguns sites (em inglês)

 

http://kirupa.com/forum/showthread.php?t=223798

http://www.senocular.com/flash/tutorials/as3withflashcs3/

 

Migração de AS2 para AS3

http://livedocs.adobe.com/flex/201/langref/migration.html

 

mas o melhor material você encontra apenas apertando F1 no flash CS3, lá tem a documentação de todas as classes com exemplos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

 

 

então bons estudos pessoal

 

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom heim!!!!! Pena que o CS3 só tenho lá em casa.. se tivesse aqui no serviço eu ia brincar o dia inteiro!! ahahah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom heim!!!!! Pena que o CS3 só tenho lá em casa.. se tivesse aqui no serviço eu ia brincar o dia inteiro!! ahahah

Tem uma maneira sim cara, você pode baixar o Flex SDK e usa-lo para compilar seus arquivos .AS(e não precisa instalar ele na maquina é só executar http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif )dá uma lida nesse tutorial que ensina direitinhoem breve vou atualizar esse post, aguarde que sera essa semana ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.