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

array de movieclips (novato)

Estas en el tema de array de movieclips (novato) en el foro de Flash y Actionscript en Foros del Web. Hola! Os explico lo que quiero hacer, a ver si podéis echarme una mano (si creéis que la idea es más o menos correcta me ...
  #1 (permalink)  
Antiguo 13/12/2006, 17:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 2
Antigüedad: 17 años, 11 meses
Puntos: 0
array de movieclips (novato)

Hola! Os explico lo que quiero hacer, a ver si podéis echarme una mano (si creéis que la idea es más o menos correcta me corregís, y si os parece fatal os agradecería algún consejillo para orientarme).

Dicho muy rápido mi aplicación consiste en un movieclip que contiene dos capas. Una es la de ACCIONES donde entre otras cosas declaro un array vacío que llamo arrTRAYECTO y otra capa donde tengo un movieclip que contiene un rectángulo grande que llamo PISTA.

Además en mi biblioteca tengo definido otro pequeño movieclip que llamo MARCADOR que contiene un dibujo de fondo y sobre él un Label sin texto. Cada vez que hago un clic en la pista pretendo que aparezca en esas coordenadas una instancia del marcador cuya label debe mostra un número correlativo: 0, 1, 2, 3, etc.

Así declaro el array en la pista de acciones:
_global.arrTrayecto = new Array();

Cada vez que hago clic en la pista hago esto en el evento on (press) de esta:
var MarcadorN = _global.arrTrayecto.length;
var MarcadorX = _xmouse;
var MarcadorY = _ymouse;
_global.arrTrayecto.push(attachMovie("lnkMarcador" ,"Marcador"+MarcadorN,getNextHighestDepth()));
_global.arrTrayecto[MarcadorN]._x = MarcadorX;
_global.arrTrayecto[MarcadorN]._y = MarcadorY;
_global.arrTrayecto[MarcadorN].label.text = MarcadorN;


La cuestión es que las instancias del marcador aparecen sobre la pista en las coordenadas correctas, pero el label que contienen siempre aparece vacío, no muestra el número correlativo. Si hago un trace del último elemento creado justo debajo de la asignación del texto de la label se me muestra el texto de la etiqueta correcto aunque no se ve en la pantalla, y si hago otro clic en la pista y se crea otro nuevo marcador sucede lo mismo, pero el elemento anterior que el trace mostraba correctamente hacía un momento ahora ya aparece también vacío. Resumiendo, solo se almacena bien el valor del texto del último marcador creado, pero nunca se ve en la pantalla y además dicho valor desaparece cuando se crea otro marcador nuevo.

¿Alguna idea de por qué los valores del texto de los labels de los marcadores no se guardan ni se ven nunca en la pantalla pero sus coordenadas se guardan y funcionan siempre correctamente?
Gracias por haber sido capaces de tragaros este rollazo. Espero haberme explicado bien.
  #2 (permalink)  
Antiguo 17/12/2006, 03:25
 
Fecha de Ingreso: diciembre-2006
Mensajes: 2
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: simplificando el tema...

Bueno, he comprobado lo siguiente:

Si meto un componente Label desde el panel de componentes y cambio su texto en tiempo de ejecución, dicho Label muestra el cambio. Ej:
MiLabel.text = "nuevo texto";

Si meto un componente Label dentro de un movieclip y cambio el valor de la propiedad text dicho cambio no se refleja en la pantalla, permanece el valor que se le asignó antes de la ejecución de la aplicación. Sin embargo con un trace veo que reconoce el último valor asignado. Ej:
// esto no refleja ningún cambio en pantalla
MiPelicula.MiLabel.text = "otro texto";

¿Sabéis por qué?
Graciasss!
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 17:17.