Foros del Web » Creando para Internet » Flash y Actionscript »

for de duplicateMovie

Estas en el tema de for de duplicateMovie en el foro de Flash y Actionscript en Foros del Web. Hola gente! tengo un clip y lo quiero duplicar con un for. este es el codigo. por que no anda? Código: e=5; for(i=0; i<e; i++){ ...
  #1 (permalink)  
Antiguo 24/04/2005, 15:42
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 20 años, 2 meses
Puntos: 0
for de duplicateMovie

Hola gente! tengo un clip y lo quiero duplicar con un for.
este es el codigo. por que no anda?
Código:
e=5;
for(i=0; i<e; i++){
	linea="linea"+i
	this.linea01.duplicateMovieClip(linea);
	this.linea2._y=20+i;
}
chas gracias
__________________
W:-DL
...estas cosas pasan una sola vez en la vida... capaz dos.
Diseño Web - Desarrollo Web
  #2 (permalink)  
Antiguo 24/04/2005, 17:10
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Si el mc que para este ejemplo tiene nombre de instancia "tuMC" se encuentra en la línea principal de la película....

Código:
//En el primer frame de la película
stop();
limite=5;
i=0;
for(i=0;i<limite;i++) {
   tuMC.duplicateMovieClip("tuMC"+i,i);
}
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #3 (permalink)  
Antiguo 24/04/2005, 19:48
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 20 años, 2 meses
Puntos: 0
y?? la cuestion es que no funciona...
__________________
W:-DL
...estas cosas pasan una sola vez en la vida... capaz dos.
Diseño Web - Desarrollo Web
  #4 (permalink)  
Antiguo 24/04/2005, 22:59
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
Me funciona perfectamente . Tengo MX (versión 6.0)
El problema está en ti o es porque ocupas Flash 5.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #5 (permalink)  
Antiguo 25/04/2005, 05:23
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 19 años, 3 meses
Puntos: 1
A lo mejor te las duplicó y no te diste cuenta. Porque las situa por defecto en el mismo lugar que la original.

Prueba a cambiarlas de posición, utilizando _root["linea"+i]._x; // ._y
  #6 (permalink)  
Antiguo 25/04/2005, 11:39
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 20 años, 2 meses
Puntos: 0
Bien roy y bien goc00
El codigo de goc andaba pero lo duplicaba en el mismo lugar.. y roy fue el de la bofetada que me desperto!! (jajaja) (que naboleti, no me di cuenta que se duplicaban en el mismo lugar) GRACIAS A AMBOS
el codigo que funciona es este
Código:
stop();
limite=5;
i=0;
for(i=0;i<limite;i++) {
   linea01.duplicateMovieClip("linea"+i,i);
	this["linea"+i]._y=10+i*2;
}
__________________
W:-DL
...estas cosas pasan una sola vez en la vida... capaz dos.
Diseño Web - Desarrollo Web
  #7 (permalink)  
Antiguo 25/04/2005, 17:03
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
UWujAujUJWUJAujUJWUJaA te iba a responder justo eso pero se me adelantaron BIEN QUE HAYAS SOLUCIONADO TU PROBLEMA.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #8 (permalink)  
Antiguo 25/04/2005, 17:34
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Con el código mencionado en el hilo duplican el mc 5 veces; y al publicar (ctrl+enter) aparecen los 5 mc's duplicados en diferentes ubicaciones, ....pero sí deseas que aparezcan de uno por uno con un intervalo de tiempo ¿como lo hacen?...

Gracias por su respuesta...
  #9 (permalink)  
Antiguo 25/04/2005, 19:18
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 20 años, 2 meses
Puntos: 0
uuuuuuuuuu!!! eso del tiempo no se manejarlo muy bien en flash.. voy averlo..
__________________
W:-DL
...estas cosas pasan una sola vez en la vida... capaz dos.
Diseño Web - Desarrollo Web
  #10 (permalink)  
Antiguo 25/04/2005, 19:42
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Necesitas hacerlo con setInterval. Seria algo parecido a esto:
Código:
var segundos = 1; // esto creara 1 objeto por segundo
var cantObjetos = 30;
var nivel = 0;
crear = function () {
	nivel++;
	// 
	objeto_mc.duplicateMovieClip("nuevo"+nivel, nivel);
	_root["nuevo"+nivel]._x = i*_root["nuevo"+nivel]._width+i;
	_root["nuevo"+nivel]._y = 10; // la posicion "Y" que quieras
	// 
	if (nivel >= cantObjetos) {
		clearInterval(crearObjetos);
	}
};
crearObjetos = setInterval(crear, segundos*1000); // para acelerar puedes cambiar el 1000 por un numero mas pequeño
__________________
JuniHH
- Mi blog
- Mi portafolio
  #11 (permalink)  
Antiguo 27/04/2005, 11:50
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Excelente Junihh;
Te lo agradezco infinitamente; después de 3 semanas de "darle vueltas" a éste código finalmente tengo la respuesta. Gracias...
A tu código sólo falta agregar en la línea 10 i++;
Quedó perfecto...como quería...

Saludos....
  #12 (permalink)  
Antiguo 27/04/2005, 14:15
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Caramba, una pequeño olvido. Realmente "i" debe ser "nivel", pero olvide cambiarlo ya que copie el codigo completo de otro trabajo que habia preparado con fines parecidos a los tuyos y ese funcionaba con un "for", no con setInterval.

Al menos sirvio de algo, me alegro por ti.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #13 (permalink)  
Antiguo 10/05/2005, 13:36
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 21 años, 11 meses
Puntos: 0
No me funciona este codigo

tengo un boton(instancia "linea01") que quiero duplicar uso el siguiente codigo, pero no funciona.

Cita:
stop();
limite=5;
i=0;
for(i=0;i<limite;i++) {
linea01.duplicateMovieClip("linea"+i,i);
this["linea"+i]._y=10+i*2;
}
El codigo anterior lo e colocado en el primer frame de la linea de tiempo principal.
Estoy usando flash mx 2004. Espero ayuda sobre este tema
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #14 (permalink)  
Antiguo 10/05/2005, 23:33
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
FLASH MX 2004 utiliza AS 2.0, el código es para AS 1.0 Deberás cambiarlo a la nueva sintaxis.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #15 (permalink)  
Antiguo 11/05/2005, 06:33
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Pues este me funciono bien, que es muy parecido al tuyo:
Código:
stop();
var limite = 5;
for (i=0; i<limite; i++) {
	linea.duplicateMovieClip("linea"+i, i);
	eval("linea"+i)._y = i*eval("linea"+i)._width+i;
	eval("linea"+i)._x = 30  // esta posicion fue solo de prueba, asi que quitala si quires
}
__________________
JuniHH
- Mi blog
- Mi portafolio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:48.