Carlos Gustavo (The Froskie) Internet, web, www…

14mai/080

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...

6mai/080

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í.

5mai/080

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 {}
 }
}
2mai/080

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);
}