Comunidad de diseño web y desarrollo en internet online

Bucles y duplicados ayuda por favor

Citar            
MensajeEscrito el 20 Jul 2005 08:04 pm
Hola tengo unas dudas sobre un ejercicio flash que estoy haciendo. Consiste simplemente en un duplicado de movieclip y poder moverlo con el raton.

Bien, pues basicamente el codigo lo entiendo salvo unas lineas que no acabo de entender.
El codigo entero es este

Código :

i = 0;
while (i<10) {
   i++;
   duplicateMovieClip(particle_mc, "particle"+i+"_mc", i);
}
onEnterFrame = function () {
   valorx=_xmouse
   Xdist = _xmouse-290;
   Ydist = _ymouse-190;
   xvalor=valorx;
      distx=Xdist;
   j = 0;
   while (j<10) {      
         j++;
      _root["particle"+j+"_mc"]._x = 290+(Xdist*j/10);
      _root["particle"+j+"_mc"]._y = 190+(Ydist*j/10);
   }
};

y las lineas que no entiendo son estas

Código :

Xdist = _xmouse-290;
Ydist = _ymouse-190;
290+(Xdist*j/10);
190+(Ydist*j/10);


No se que hacen exactamente, si alguien me lo pudiese explicar detalladamente se lo agradeceria mucho.
Solo eso.
Gracias

Por neoarcangel

39 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jul 2005 08:31 pm
_xmouse y _ymouse son las coordenadas del puntero del mouse

Xdist y Ydist es la coordenada inicial de la primera particula, es la particula que vez mas abajo, ahora dentro del bucle while lo que hace es acomodar las otras particulas duplicadas con respecto a la primera y con las coordenadas que genera el movimiento del mouse :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Jul 2005 08:43 pm
Perdona, no me ha quedado muy claro. Antes ya sabia lo que eran _xmouse e _ymouse, lo que no entiendo por ejemplo ¿por que en la variable Xdist se le resta la coordenada tanto x como y de la primera instancia inicial de "PARTICLE_MC"?asi como tampoco entiendo el por que mas posteriormente estas coordenadas(290 y 190) se le suman a Xdist e ydist...se multiplican por el numero de instancia duplicada para posteriormente dividirlo por el numero de clips duplicados?...Es que me gustaria saber el por que de todo este complejo matematico para simplemente hacer un duplicado y asignarlo al movimiento de raton.

Por neoarcangel

39 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jul 2005 09:09 pm
primero en ese codigo hay unas lineas que no hacen absolutamente nada, te hablo de estas:

Código :

valorx=_xmouse 
xvalor=valorx;
distx=Xdist;


ok, el 290 y 190 son las coordenadas en que la estara cerca la primera particula es como decir el eje.

Pero j llega hasta 10 y se divide en 10, casualidad? :?

nop, eso es para dividir la distancia que hay entre las coordenas del puntero del mouse y las coordenas del eje en partes iguales y que cada particula este a una distancia proporcional de la otra :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 21 Jul 2005 11:51 pm
Pero ...¿para hacer cualquier ejercicio de duplicados hay que hacer algo parecido o solo es en este caso concreto?...por que la verdad que esto de las operaciones matematicas aqui con actionscript no me queda nada claro.
Lo cierto es que tu explicacion me aclara algo mas las cosas pero... ¿todo ese codigo es completamente imprescindible(me refiero, claro esta a las lineas que no entiendo)? quiero decir, ¿no se podria realizar de alguna forma mas facil?.
No obstante gracias por la atencion de contestar.
Saludos

Por neoarcangel

39 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2005 02:44 am
entendiste las lineas bien lo que te explique? :?

neoarcangel escribió:

¿para hacer cualquier ejercicio de duplicados hay que hacer algo parecido o solo es en este caso concreto?


nop, para ese ejemplo si es concreto

Ten en cuenta algo, cuando creas duplicados estas creando nuevas instancias de un simbolo, es como si de la biblioteca agarrara el mismo simbolo(movieclip, button, etc.) y lo pusieras varias veces, pero a nivel de código lo que haces es crear copias de un simbolo que ya esta en el escenario, para poder hacer un duplicado el simbolo que copiaras debe tener un nombre de instancia y el simbolo duplicado como tal debe tener un nombre de instancia única con la finalidad de que lo puedas tratar como un objeto cualquiera, para asi poder modificar sus propiedades ya sean: _x, _y, _width, _height, etc. y sus eventos asociados tales como: onRelease, onRollOver, onRollOut, etc.

Otra forma de crear de alguna manera duplicados es con attachMovie pero la diferencia es que el simbolo no esta en el escenario, sino que lo traes directamente de tu biblioteca con el nombre que le das a la exportacion del simbolo(biblioteca->boton derecho del mouse al simbolo a exportar-> linkage->marcar la casilla Export for Actionscript), y bueno tambien debes darle un nombre de instancia unico para que igual puedas modificar sus eventos y propiedades.

ah pero falta algo duplicateMovieClip y attachMovie llevan un tercer parametro que es la profundidad, es un número entero y también debe ser único al igual que el nombre de instancia :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

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