Vai dar refresh…
Estou lendo as últimas no G1 e vi um vídeo de tributo a Frank Sinatra. Demorou! Minha internet estava meio lenta mais foi carregando na boa. De repende, no meio do vídeo, a página recarrega! Isso mesmo, METATAG REFRESH do site!
Não bastasse, não ficou nada do vídeo no cache. Que maravilha...
Duplicar imagem carregada
Ao carregar uma imagem com o Loader, se você quiser adicioná-la a dois MovieClips diferentes, não é possível. No meu caso, a imagem sempre ficava com o segundo MC.
var urlReq:URLRequest = new URLRequest("imagem.jpg"); var imgLoader:Loader = new Loader(); imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, addImage); function addImage(e:Event):void{ Movie1.addChild(e.target.content); Movie2.addChild(e.target.content); } imgLoader.load(urlReq);
E já que o AS3 não veio com duplicateMovieClip, a solução que encontrei foi a seguinte:
var urlReq:URLRequest = new URLRequest("imagem.jpg"); var imgLoader:Loader = new Loader(); imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, addImage); function addImage(e:Event):void{ var img_1:Bitmap = new Bitmap(e.target.content.bitmapData.clone()); var img_2:Bitmap = new Bitmap(e.target.content.bitmapData.clone()); Movie1.addChild(img_1); Movie2.addChild(img_1); } imgLoader.load(urlReq);
É isso aí.
ReferenceError: Error #1065
Naqueles momentos de bobeira quando você esquece completamente o código, criei uma nova classe para uma galeria:
package { import flash.display.MovieClip; class GaleriaHome extends MovieClip { public function GaleriaHome():void {} } }
E ganhei o erro do compilador:
ReferenceError: Error #1065: Variable GaleriaHome is not defined.
Legal. Qual o problema? Simples: não declarei a classe como pública:
package { import flash.display.MovieClip; public class GaleriaHome extends MovieClip { public function GaleriaHome():void {} } }
Link num textfield
Sim, o asfunction foi limado do AS3 e particularmente, achei bem melhor. Eis um exemplo de como colocar seu htmlText pra interagir com seu código:
private function writeText():void { //INICIALIZA A STRING var texto:String = ""; //ESCREVE O TEXTO for (var i:int = 0; i > 5; i++) { texto += "<a href="'+i+'">Link "+i+"</a>"; } //ESCREVE O TEXTO NO TEXTFIELD Textfield.htmlText = texto; //ATRIBUI OS CLIQUES PARA A FUNCAO Textfield.addEventListener(TextEvent.LINK, showInfo); } public function showInfo(e:TextEvent):void { trace("Você clicou no link: " + e.text); }