Comunidad de diseño web y desarrollo en internet online

Ayuda con variables (De string a un arreglo de MovieClips)

Citar            
MensajeEscrito el 14 Ene 2009 12:28 am
Hola.

Estoy creando un aplicacion que en resumen, requiere de lo siguiente:

1) Tengo un archivo Var_swf.as con una declaracion de variables estaticas:

Código :

static public var arreglo_pag:Array = ["mc_pag1","mc_pag2","mc_pag3", ...];


Nota: El array de arreglo_pag tiene que ser de string

2) En la bibiloteca existen los Movie clips con los nombres de mc_pag1, mc_pag2, ......

3) En mi archivo Document Class: Main_mc.as necesito crear las instancias de estos movie clips en un arreglo, probe de las siguientes formas:

Código :

public var arreglo_clip:Array = new Array();


a)

Código :

for (var i = 0; i < Var_swf.arreglo_pag.length; i++) {             
       arreglo_clip.push(new [Var_swf.arreglo_pag[i]] () as MovieClip);
}

Error #1007: Se intentó crear una instancia en un tipo no constructor.

b) agregando this

Código :

for (var i = 0; i < Var_swf.arreglo_pag.length; i++) {             
       arreglo_clip.push(new this.[Var_swf.arreglo_pag[i]]() as MovieClip);
}

Error #1069: No se encontró la propiedad mc_pag1 en Main_mc y no hay ningún valor predeterminado.

Cualquier ayuda o sugerencia se los agradezco
Saludos

Por lororojo

52 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Ene 2009 01:15 am
Si necesitas crear MC's solamente no basta con poner:

Código ActionScript :

arreglo_clip.push(new  MovieClip());
arreglo_clip[arreglo_clip.length].name=Var_swf.arreglo_pag[i];


Si necesitas crear un movieclip linkeado de la biblioteca con un nombre especifico mi codigo no te sirve XD

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 01:40 am
perdon viendo bien tu pregunta no sirve mi codigo .....lo siento

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 07:46 am
Lorojo, si cuando dices que en tu biblioteca "existen los Movie clips con los nombres de mc_pag1, mc_pag2, ......" supongo que te refieres a que en tu biblioteca tienes unos MovieClips cuyas "Clases" son mc_pag1,mc_pag2.... (por cierto, acostumbremonos a que el nombre de las clases empiecen siempre la primera letra en mayúsculas)

Para crear un Mc (Objeto) del tipo (de la Clase) "mc_pag1" y llevarlo al escenario se usa

Código ActionScript :

var pag1:mc_pag1=new mc_pag1()
addChild(pag1)

¿qué ocurre si sabemos el nombre de la clase (un string), o queremos que sea una variable?. Pues que debemos usar la función getDefinitionByName -está dentro de flash.utils- del siguiente modo

Código ActionScript :

var ClassReference:Class = getDefinitionByName("mc_pag1") as Class;
var pag1:Object = new ClassReference();
addChild(pag1)

Si lo que queremos es tener en un array la referencia a los MCs creados vale con añadirlos con un push al array a la hora de hacer el addChild

Código ActionScript :

arreglo_clip.push(addChild(pag1))


Vale, haz tú el bucle y esas cosas

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 11:49 pm
Gracias :) por tu ayuda Eliseo2

Ya esta funcionado.

Por lororojo

52 de clabLevel



 

msie7

 

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