Comunidad de diseño web y desarrollo en internet online

ayuda con bucle

Citar            
MensajeEscrito el 07 Feb 2011 05:45 pm
hola, tengo que instanciar dinamicamente un objeto (mc) de la libreria, el movie clip se tiene que ripetir a x clicks y llevar un numero en si mismo, consigo numerar las istancias pero no consigo associar otra variable al Listner para que no aparezcan todos a la vez sino de uno a uno ... este es mi codigo:

var cantinstaza:Array=new Array();

for (var k:Number = 0; k<26;k++){
cantinstaza[k] = k;
}
var contenedor:MovieClip=new MovieClip();
addChild(contenedor);
contenedor.x=50;
contenedor.y=100;

var s:Number = 1;

cloneBTN.addEventListener(MouseEvent.CLICK, llamarMC);

function llamarMC(e:MouseEvent):void
{

for (var j:Number = 0; j<5;j++){

for(var i:Number = 0; i<5;i++){


var mc:MC = new MC();
mc.info_txt.text = cantinstaza[s++];

mc.x = (mc.width+10)*i;
mc.y = (mc.height+10)*j;

contenedor.addChild(mc);

}
}
}

Por django

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Feb 2011 06:06 pm
Es que NO lo puedes hacer en un bucle
DEBES tener dos variables (que harían el valor de la "j" y de la "i"), y en el listener
1.-Añadir el MC
2.-incrementar i
si es mayor de 5, incrementar j e igualar i a 0

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2011 07:14 pm
.....mmm...no he entendido muy bien los que quieres decir ...

Por django

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 08 Feb 2011 07:21 am
Un bucle se realiza por completo y, cuando acaba, muestra el resultado. Así que pensemos ¿qué es lo que queremos hacer?
Pues que cuando pulsemos un botón aparezca UN sólo MC.
Cuando pulsemos otra vez debe aparece OTRO MC, pero en distinta posición. Así que debemos usar "variables". Realmente la única variable que nos interesa es la que has llamado "s", pues con ella podemos situar el MC perfectamente. Si "s" coge los valores de 0 a 24 (es importante que empieze por 0)

Código ActionScript :

mc.x=10*(s%5)
mc.y=10*int(s/5)

La variable "s" la declararemos FUERA de cualquier función (tal y como lo tienes) para que podamos usarla siempre.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Feb 2011 09:23 am
hola, primero muchas gracias por fin veo una soluction ... peró sigue non funcionandome ... ahora se me instancian en grupos y todos pegados el uno con el otro ...donde llamo la sentencia de mis variables j, i ? no se como se puedan assiñar mis cordinadas x, y ... perdona la confusion es que todavia no controlo nada el codigo hice una prueba con mathlab y la sintaxi es distinta y ahí por cada bucle pone un end y las funciones se executan singolarmente

Por django

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 08 Feb 2011 09:43 am
En el código que te puse, te calcula la "x" y la "y" según el valor de "s" usando la operación módulo y la división
Si los valores de s son
0,1,2,3,4,5,6,7,8,9,....
Los valores de s%5 serán
0,1,2,3,4,0,1,2,3,4,0,1,2,3,4,0,1,2,3,4....
Los valores de int(s/5) serán
0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3

Por eso te digo que NO hace falta tener una "i" y una "j" SIEMPRE que tu "s" empiece por 0

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Feb 2011 08:47 pm
¡¡¡¡ FANTASTICO !!!! despues una semana gracias a ti he salido de la pesadilla ...¡¡FUNCIONA !! muchisimas gracias

Por django

3 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.