brhujah 0 Denunciar post Postado Novembro 14, 2009 Bom dia! A todos. Eu to tentando fazer um jogo aqui por experiencia e para aprender mais sobre actionscript 3 já que estou iniciando nessa linguagem, eu to com o seguinte problema. eu tenho no Stage 10 mcs esses movieclips eu coloquei dentro de um array para poder adicionar alguns eventos de uma vez so usando um laço for. e isso tambem por que eu queria que a seguencia correta fosse sempre aleatoria. bom o meu pro é que dentro desses mcs eu coloco uma imagem, ai os mcs ficam cada um com uma imagem, essa imagem vem de um arquivo xml até ai tudo bem tudo pega do jeito que eu espero. o pro é que nesses mcs eu coloco um evento para arrastar e soltar, eles arrastam tudo certinho, isso so quando eu clico no mc, se eu clicar na imagem ele da um erro. entao eu queria saber como colocar o evento nessa imagem e se isso é possivel. eu vou colocar aqui o trecho do codigo que eu estou fazendo, nem sei se ta uma POG ou se esta somente desorganizado. var carregarThumbs:URLLoader = new URLLoader(); var xmlFile:URLRequest = new URLRequest("thumbs.xml"); var fotos:XML; var loader:Loader; var sequencia:Array = new Array(mc1, mc2, mc3); var thumbsArr = new Array(); carregarThumbs.addEventListener(Event.COMPLETE, tratar); carregarThumbs.load(xmlFile); for(var mc:String in sequencia) { sequencia[mc].addEventListener(MouseEvent.MOUSE_DOWN, arrastar); sequencia[mc].addEventListener(MouseEvent.MOUSE_UP, soltar); } function arrastar(evt:MouseEvent):void { evt.target.startDrag(false); } function soltar(evt:MouseEvent):void { if(evt.target.hitTestObject(conteudo)) { trace(evt.currentTarget.name); } evt.target.stopDrag(); } function tratar(e:Event):void { fotos = new XML(e.target.data); var imgsTxt:String; for(imgsTxt in fotos.thumbs.tmb) { thumbsArr.push(fotos.thumbs.tmb[imgsTxt]); } addFotos(thumbsArr); } function addFotos(thumbs:Array):void { for(var i:int = 0; i < 3; i++) { loader = new Loader(); loader.load(new URLRequest("thumbs/"+thumbs[i])); sequencia[i].addChild(loader); } } function error(ioError:IOErrorEvent):void { trace("erro"); } espero que alguem possa me dar uma luz. Abraçao a todos. e um otimo fim de semana Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Novembro 16, 2009 ao invés de usar o evt.target, use o evt.currentTarget, dá uma lida nesse post para saber a diferença []´s Compartilhar este post Link para o post Compartilhar em outros sites