Comunidad de diseño web y desarrollo en internet online

Código AS para crear MCs con bucle FOR

Citar            
MensajeEscrito el 12 Mar 2008 03:10 pm
Necesitaría saber como crear por ejemplo 16 mcs con nombres distintos (los que yo elija) mediante un bucle for.

Mi problema está en que si uso:
for (i=1; i<5; i++) {
for (j=1; j<5; j++) {
var "mc"+i+"_"+j:MovieClip = this.createEmptyMovieClip ("mc"+i+"_"+j, 10);
}
}

Por ejemplo, pues no me funciona ya que la variable tiene que ser un nombre en concreto, o al menos eso entiendo.

Con esa estructura es con la que pretendo crear 16 mcs, con nombres que vayan cambiando en función de los valores de los contadores de los FOR.

¿Sugerencias?.

Gracias.

Por protantric

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Mar 2008 03:26 pm
Lo mismo me pasa para darle las mismas propiedades a los 16 MCs, si quiero aplicarle un alpha a los 16 a través del bucle FOR, tampoco puedo ya que la composición de la cadena personalizada que estoy haciendo seguida de ._propiedad no es válida.

¿Sugerencias?.

Gracias.

Por protantric

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Mar 2008 05:08 pm
Mmmm.... Segun imagino tu codigo es para crear un escenario con Tiles/Mozaicos, verdad ¿?...
En dado caso lo unico que no entiendo, es para que quieres crear tantos MC´s vacios en el escenario...

Puedes probar como alternativa; con algo asi dentro de los Bucles:...

Código :

attachMovie("MC", "mc"+i+"_"+j, i*100 + j*2);

Supongo que funcionara !

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 12 Mar 2008 05:13 pm
UPDATE: Imagino que tu error se debe a que la Profundidad la mantienes Estatica en el escenario, y por ello no se crean todos los Clips como desearias...

protantric escribió:

this.createEmptyMovieClip ("mc"+i+"_"+j, 10 );[...]


Tambien puedes probar cambiando asi tu codigo:..

Código :

this.createEmptyMovieClip ("mc"+i+"_"+j, (i*100 + j*2) ); 

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 13 Mar 2008 10:05 am
Estoy creando tantos mcs, porque luego los a los 16 MCs voy importando trozos de mapa, conformando un mapa entero.
¿Qué es lo que pasa entonces?. Que cuando se mueva el mapa a la izquierda, derecha, arriba o abajo voy a ir tener que recargando las porciones de los mapas.

Para confrontar los movimientos y atachar el principio de problema cree un movieclip padre que contenía los 16 (gráficamente, en el escenario). Pero ahora no puedo hacer eso, ya que voy a estar continuamente añadiendo y eliminando de memoria mcs, necesito crearlos con código.

Mi problema es que necesito crear 16 mcs con código, una vez que los tenga creado, poder asignarle propiedades a todos los mcs, ya sean alphas, movimientos, etc... pero primero crearlos. Y con el trozo de código que puse al principio del post no me era posible:

for (i=1; i<5; i++) {
for (j=1; j<5; j++) {
var "mc"+i+"_"+j:MovieClip = this.createEmptyMovieClip ("mc"+i+"_"+j, 10);
}
}

Así no puedo crear los 16. Necesito una alternativa. Por supuesto los mcs no los tengo en biblioteca, ni 'nada' en la película. Es casi todo en código e importando externamente.

Gracias.

Por protantric

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 10:12 am

M@U escribió:

UPDATE: Imagino que tu error se debe a que la Profundidad la mantienes Estatica en el escenario, y por ello no se crean todos los Clips como desearias...

protantric escribió:

this.createEmptyMovieClip ("mc"+i+"_"+j, 10 );[...]


Tambien puedes probar cambiando asi tu codigo:..

Código :

this.createEmptyMovieClip ("mc"+i+"_"+j, (i*100 + j*2) ); 


Además, aquí la profundidad (que nunca he llegado a utilizarla al 100%, por eso está estática) no me preocupo, ya que para cada mc con valores 'i' y 'j' distintos, voy a situarlos en una zona distinta de la película. Teniendo una pantalla de 240x320 px los voy recolocando hasta formar un rectángulo que supera la pixelación de la pantalla, para ahí ir cargando las porciones de mapa.

Saludos.

Por protantric

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 10:19 am
Cuando intento hacerlo como lo he escrito me dice: "El margen izquierdo del operador de asignación debe ser una variable o propiedad".

Cosa totalmente comprendible, ya que no puedo asignar dentro del bucle " var NOMBRE+i+j:MovieClip = this....", pues una alternativa a eso sabiendo que no tengo nada en biblioteca, que lo tengo que hacer todo con actionscript?

Saludos

Por protantric

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 03:45 pm
aun teniendo un valor para un contador, no puedo asignarle una propiedad a un mc cuyo nombre se compone de "cadena"+contador._x.

¿Cómo podría hacerlo?

Por protantric

33 de clabLevel



Genero:Masculino  

firefox

 

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