Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2009, 00:22
Avatar de Turdo
Turdo
 
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
Respuesta: Problema con duplicateMovieClip dentro de un FOR

Que tal amigo!!

El problema es que tu lógica esta un poco mal. Te explico:

1.- Cuando haces referencia al objeto item_nuevo para incrementar la propiedad _y, solo haces referencia a ese mismo objeto osea item_nuevo y no a los 6 objetos supuestamente creados (Que por cierto si se crean).

2.- No sabes como acceder a los 6 objetos que creaste. Pero yo te voy a enseñar.

3.- No haz declarado la variable item_anterior_y. Puesto que en flash las variables son multidatos, flash no sabe que tipo de variable es hasta que le asignes un valor.

He aqui la solucion.
Código actionscript:
Ver original
  1. //Primero asignamos el valor para las Y
  2. item_anterior_y = 0;
  3. for (i=0; i<6; i++) {
  4. //Aquí le asignamos un profundidad especifica pues después lo vamos a necesitar.
  5. //y en vez de poner 0 ponemos la i
  6.     duplicateMovieClip(item, "item_nuevo", i);
  7.     item_anterior_y = item_anterior_y+20;
  8. //Aquí viene el truco: A un variable le asignamos el objeto que esta en determinada profundidad
  9.     Mc = _root.getInstanceAtDepth(i);
  10. //Esa variable ya tiene las propiedades de dicho objeto y podemos manipularlo
  11.     Mc._y = item_anterior_y;
  12.     item_nuevo._name=("item"+i);
  13. }

Bueno como veras fue muy fácil y espero te haya servido.
__________________
Un buen programa depende de la imaginación.