Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonardo.ce

Problema Imagens xml no Stage.

Recommended Posts

Fala pessoal, beleza? Após muito tempo estou voltando ao forum Imagem Postada

 

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

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

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

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

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

IF:

if(arrPicList[i].x >= stage.StageWidth) // Aqui tu muda o Yelse  // muda o X
Isso você testa se já chegou no final do palco Imagem Postada

 

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.