Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá tudo bem, sou novo no fórum, aqui vai meu primeiro post
Estou criando uma galeria em AS3 que puxa as url das imagens em um xml.
O problema que não entendo onde pode estar o erro, as thumbs não aparecem.
as thumbs da galeria puxa a classe externa que criei "Foto.as"
Foto.as:
package { import flash.display.MovieClip; import flash.display.Sprite; //Dava erro aqui! WTH?????
/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons//tongue.gif&key=8d7db5506381f3aded8b5f49baaf46e0ab6e76527fecd7d71783dbd267fdf01c" alt="Imagem Postada" /> //import fl.containers.UILoader; import flash.display.Sprite; import flash.events.Event; import com.greensock.; import com.greensock.easing.; import flash.events.MouseEvent; public class Foto extends Sprite { //Aqui o erro, não encontra UILoader private var loader:Sprite; var container:Sprite = new Sprite(); var contorno:Sprite = new Sprite(); function Foto(source:String):void { name = source; drawContorno(); drawLoader(); addEventListener(MouseEvent.MOUSE_OVER,onOver); addEventListener(MouseEvent.MOUSE_OUT,onOut); addEventListener(Event.ENTER_FRAME, onEnter_Frame); scaleThumb(); } function drawContorno():void{ contorno.graphics.lineStyle(2, 0xff66cc, .7); contorno.graphics.lineTo(0, 0); contorno.graphics.lineTo(0, 100); contorno.graphics.lineTo(110, 100); contorno.graphics.lineTo(110, 0); contorno.graphics.lineTo(0, 0); addChild(contorno); contorno.visible = false; } function drawLoader():void { container.graphics.lineStyle(2, 0xff66cc, .7); container.graphics.lineTo(0, 0); container.graphics.lineTo(0, 100); container.graphics.lineTo(110, 100); container.graphics.lineTo(110, 0); container.graphics.lineTo(0, 0); container.visible = false; addChild(container); //Erro aqui na hora de criar o objeto loader = new Sprite(); //loader.scaleContent = true; //loader.source = name; //loader.mouseEnabled = false; this.loader.x = 1; this.loader.y = 1; loader.width = 108; loader.height = 98; addChild(loader); } private function onEnter_Frame(event:Event):void{ if (MovieClip(parent.root).auxObj.name == name){ contorno.visible = true; } else { contorno.visible = false; } } private function onOver(event:MouseEvent):void{ container.visible = true; TweenLite.to (this, .2, {alpha: 1, scaleX:1, scaleY: 1}); } private function onOut(event:MouseEvent):void { TweenLite.to (this, .2, {alpha:.7, scaleX: .95, scaleY: .95, onComplete: hideContainer}); } private function hideContainer(){ container.visible = false; } private function scaleThumb():void { this.scaleX = .95; this.scaleY = .95; this.alpha = .75; } } }Percebam que o código foi adaptado, antes usava UILoaders, mas por motivos estranhos e não conhecidos, ele parou de reconhecer UILoader, mesmo importando o fl.containers.UILoader /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/sad.gif&key=02b1574f7da1e723d8a7dbae07272745fb341b432c19ce24d0490ce410222838" alt="Imagem Postada" />
Então adaptei em um Sprite.
A minha Galeria: "galeria.fla"
import com.greensock.;import com.greensock.easing.;//CONEXÃOvar urlRequest:URLRequest = new URLRequest("fotos_decoracao.xml");var urlLoader:URLLoader = new URLLoader();//XML e Listavar myXML:XML = new XML();var xmlList:XMLList = new XMLList();myXML.ignoreWhitespace = true;urlLoader.addEventListener(Event.COMPLETE, fileLoaded);urlLoader.load(urlRequest);//Auxiliar contadorvar aux:String;//Auxiliar na mudança de fotosvar auxObj:Object = new Object();//auxiliares na rolagemvar direita:Boolean = false;var esquerda:Boolean = false;//Quantidade de Thumbs (serve para verificar se necessita de rolagem ou não)var numThumb:Number = 0;//thumbs Loaded (mesma fim que o numThumb)var loaded:Boolean = false;auxObj.name = "imagens/decoracao/img_1.jpg";//caminho das thumbsvar arrayMiniURL:Array = new Array();//caminho das imagensvar arrayImgURL:Array = new Array();var arrayImg:Array = new Array();//photo containervar photoLoader:Loader = new Loader();photoLoader.alpha = 1;photoLoader.unload();//Foto InicialphotoLoader.load(new URLRequest("imagens/decoracao/img_1.jpg"));//Handler para alinhar a foto ao centrophotoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, centerPhoto);//Add photoLoader ao viewerviewer.addChild(photoLoader);//carregou xmlfunction fileLoaded(evt:Event):void{ myXML = XML(evt.target.data); xmlList = myXML.children(); for (var i:int=0; i < xmlList.length(); i++) { //carregou todas as thumbs if (i == Number(xmlList.length() - 1)) loaded = true; if (loaded){ //se tiver menos que 5 fotos, não precisa do scroll if (numThumb < 5) { Scroll.scrollLEFT.visible = false; Scroll.scrollRIGHT.visible = false; } } numThumb += 1; trace (numThumb + " " + loaded); var picURL:String = xmlList[i].url_thumb; var picName:String = xmlList[i].url_image; arrayMiniURL.push(picURL); arrayImgURL.push(picName); arrayImg[i] = new Foto(arrayMiniURL[i]); arrayImg[i].addEventListener(MouseEvent.CLICK,onClick); arrayImg[i].name = arrayImgURL[i]; arrayImg[i].buttonMode = true; arrayImg[i].y = 354.3; arrayImg[i].x = i*110+6.67; mcMenu.Thumbs.addChild(arrayImg[i]); }}//Quando clicar nas thumbsfunction onClick(event:MouseEvent):void { trace (event.currentTarget.name); auxObj.name = event.currentTarget.name; TweenLite.to (photoLoader, 1, {alpha: 0, onComplete: changePhoto});}//Muda a foto do viewfunction changePhoto():void{ photoLoader.unload(); photoLoader.load(new URLRequest(auxObj.name));}//centraliza a foto no viewfunction centerPhoto(evt:Event):void{ photoLoader.x = 372.5 - (photoLoader.width/2); photoLoader.y = 190 - (photoLoader.height/2); TweenLite.to (photoLoader, 1, {alpha:1});}Scroll.scrollLEFT.buttonMode = true;//para a rolagemScroll.addEventListener(MouseEvent.MOUSE_OUT, stopScroll);function stopScroll(evt:MouseEvent):void{ esquerda = false; direita = false;}//vai pra esquerdaScroll.scrollLEFT.addEventListener(MouseEvent.MOUSE_OVER, scrollDOWN);function scrollDOWN(evt:MouseEvent){ direita = false; esquerda = true; }//vai para direitaScroll.scrollRIGHT.buttonMode = true;Scroll.scrollRIGHT.addEventListener(MouseEvent.MOUSE_OVER, scrollUP);function scrollUP(evt:MouseEvent){ esquerda = false; direita = true;}//controla os limites das rolagensthis.addEventListener(Event.ENTER_FRAME, onenterFrame);function onenterFrame(event:Event){ if (mcMenu.Thumbs.x <= 1){ if (direita){ mcMenu.Thumbs.x += 2; } } if (mcMenu.Thumbs.x <= -1){ esquerda = false; } if (esquerda){ mcMenu.Thumbs.x -= 2; }}Tem um mc chamado viewer no centro, tem um outro mc que nele tem um mc chamado Thumbs com uma máscara. em cada canto tem um scrollRIGHT e LEFT dentro do mc Scroll e entre as scrolls onde se encaixam as thumbs
e por fim o xml:
<?xml version="1.0" encoding="utf-8"?><images> <image> <url_thumb>imagens/decoracao_thumb/img_1.jpg</url_thumb> <url_image>imagens/decoracao/img_1.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_2.jpg</url_thumb> <url_image>imagens/decoracao/img_2.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_3.jpg</url_thumb> <url_image>imagens/decoracao/img_3.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_4.jpg</url_thumb> <url_image>imagens/decoracao/img_4.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_5.jpg</url_thumb> <url_image>imagens/decoracao/img_5.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_6.jpg</url_thumb> <url_image>imagens/decoracao/img_6.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_7.jpg</url_thumb> <url_image>imagens/decoracao/img_7.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_8.jpg</url_thumb> <url_image>imagens/decoracao/img_8.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_9.jpg</url_thumb> <url_image>imagens/decoracao/img_9.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_10.jpg</url_thumb> <url_image>imagens/decoracao/img_10.jpg</url_image> </image> <image> <url_thumb>imagens/decoracao_thumb/img_11.jpg</url_thumb> <url_image>imagens/decoracao/img_11.jpg</url_image> </image></images>Os caminhos estão certinhos /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/smile.gif&key=15294d64c22e9e9c4ae0bf82a62ec27d13f27d6ba7078a5f7982077798029364" alt="Imagem Postada" />
Não entendo, não carrega nada no swf, só a primeira imagem.
PS: Eu tinha uma outra galeria que usei a mesma classe Foto.as, mas antes ela usava UILoader ao invés de Sprite, e funcionava perfeitamente. Criei essa galeria agora, com código muito parecido com o da primeira galeria, mas não funcionava, dava erro no Foto.as em todas as linhas que tinham algo com UILoader /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/sad.gif&key=02b1574f7da1e723d8a7dbae07272745fb341b432c19ce24d0490ce410222838" alt="Imagem Postada" />
Até aí ok, adaptei pra Sprite e não dá mais erros.
alguém me ajuda plzz??
abraços!
Carregando comentários...