leonardo.ce 0 Denunciar post Postado Julho 13, 2010 Fala pessoal, beleza? Após muito tempo estou voltando ao forum E com problemas hehehe.. O problema é o seguinte, meu codigo busca algumas imagens no XML.. São varias imaagens que serão carregadas e 'jogadas' no stage. Porém não estou conseguindo alinhar as mesmas..Eu queria que quando chegasse ao final do stage ele pulasse para baixo continuando o 'preenchimento' das imagens no stage.. Porém não estou conseguindo.. Segue o codigo abaixo: var pHeight:Number = 50;var pWidth:Number = 50;var listLoader:URLLoader = new URLLoader( new URLRequest("filelist.xml") );var arrPicLoaders:Array = new Array();var arrPicList:Array = new Array();var numImages:Number;listLoader.addEventListener(Event.COMPLETE, gotList);function gotList(evt:Event):void { var xmlData:XML = XML(listLoader.data); numImages = xmlData.pix.length(); var arrShuffled:Array = shuffleList(numImages); var stImage:String; for (var i=0; i<numImages; i++) { stImage = xmlData.pix[arrShuffled[i]].toString(); arrPicLoaders[i] = new Loader(); arrPicLoaders[i].contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic); arrPicLoaders[i].load( new URLRequest(stImage) ); } listLoader.removeEventListener(Event.COMPLETE, gotList);}function shuffleList(n:Number):Array { var startList:Array = new Array(n); var endList:Array = new Array(n); var i,j:Number; for (i=0; i<n; i++) { startList[i] = i; } for (i=0; i<n; i++) { j = Math.floor(Math.random()*startList.length); endList[i] = startList.splice(j,1)[0]; } return(endList);}function gotPic(evt:Event):void { var thisBmp:Bitmap = Bitmap(evt.target.content); var thisWidth:Number = thisBmp.width; var thisHeight:Number = thisBmp.height; thisBmp.scaleX = pWidth/thisWidth; thisBmp.scaleY = pHeight/thisHeight; arrPicList.push(thisBmp); if (arrPicList.length == numImages) { placePictures(); }}]// O PROBLEMA ESTÁ NESTA FUNÇÃO.. OQUE DEVO FAZER?function placePictures():void { for (var i=0; i<arrPicList.length; i++) { arrPicList[i].x = pWidth*Math.floor(i/2); arrPicList[i].y = pHeight*(i%2); //arrPicList[i].alpha =0.32; addChild(arrPicList[i]); } } Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Julho 13, 2010 Faz um if e testa se chegou ao final do palco >= stage.StageWidth dai você manda descer. Abs Compartilhar este post Link para o post Compartilhar em outros sites
leonardo.ce 0 Denunciar post Postado Julho 14, 2010 Faz um if e testa se chegou ao final do palco >= stage.StageWidth dai você manda descer. Abs Tentei deste modo ai agora não deu certo. fiz algo mais ou menos assim.. if(arrPicList[i].stage.stageWidth){ arrPicList[i].y = pHeight*(i%2); } //e tb.. if(stage.stageWidth){ arrPicList[i].y = pHeight*(i%2); } Mas não deu certo;:/ Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Julho 14, 2010 O seu if ta errado. De uma estudada como fazer um if-else e tb sobre as propriedades do Stage. Abs Compartilhar este post Link para o post Compartilhar em outros sites
leonardo.ce 0 Denunciar post Postado Julho 19, 2010 O seu if ta errado. De uma estudada como fazer um if-else e tb sobre as propriedades do Stage. Abs Tentei de tudo.Qual é o problema no meu if? ngm pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 20, 2010 IF: if(arrPicList[i].x >= stage.StageWidth) // Aqui tu muda o Yelse // muda o XIsso você testa se já chegou no final do palco Lembre-se que você pode criar uma variavel separada que pode comandar isso... ai testar dentro do for... e vai dando true or false na varivel... para que ele possa ir fazendo linha a linha. Abraços Compartilhar este post Link para o post Compartilhar em outros sites