Comunidad de diseño web y desarrollo en internet online

variables en nombres de clip?

Citar            
MensajeEscrito el 01 May 2007 05:55 pm
Hola buenas a tod@s y gracias por vuestro tiempo.

Me gustaria saber si se puede llamar a un objeto, cuando este tiene un nombre ordenado, con una variable en su nombre. Creo que me he hecho un lio...
Lo intento con un ejemplo:
-Tenemos tres clips en la escena con nombres ordenados (clip1, clip2 y clip3).
-queremos modificar una misma caracteristica a todos ellos (_x por ejemplo).
pdriamos hacer algo parecido a esto ?

Código :

for (i=1, i=3, i++){
clip+i._x=100;
}

Evidentemente esto no funciona, pero me gustaria saber si hay alguna manera de hacer algo parecido.

Gracias.

Por ChickenExecutor

351 de clabLevel

2 tutoriales
1 articulo

 

El pais de la Resistance

firefox
Citar            
MensajeEscrito el 01 May 2007 07:00 pm
Así:

Código :

elClipPadre["clip"+i]._x=100;

elClipPadre es donde están contenidos los otros tres, por ejemplo this o _root (aunque no recomiendo utilizarlo).

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 01 May 2007 07:34 pm
porque no lo recomiendas?
La cuestion es que me he encontrado mas de un caso donde utilizar esto que me acabas de explicar, me hubiera sido de mucha ayuda. No que, sin esto, he tenido que teclear lineas y mas lineas de codigo.

Explica, explica, estoy avido de conocimiento... ;-)

Por ChickenExecutor

351 de clabLevel

2 tutoriales
1 articulo

 

El pais de la Resistance

firefox
Citar            
MensajeEscrito el 01 May 2007 07:41 pm
Noo.... lo que no recimiendo utilizar es _root, no esta manera de referirte a los clips. Y no creo que deba usarse, porque es una lata a la hora de portar swf's y los propios clips dentro de un swf.Imagina que estás haciendo un juego de ajedrez, y de repente te da por hacer que todo el tablero y las piezas, que antes estaban desperdigados como mcs independientes sean un sólo clip. Si tenías el código de ese clip con rutas relativas, no tendrás que cambiarlo, lo copias y pegas y ya, en cambio si habías usado rutas absolutas (_root), sí tendrás que hacer numerosos cambios. Dano lo había explicado bien aquí:
http://www.cristalab.com/foros/viewtopic.php?t=38430&highlight=root

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 May 2007 06:05 am
Zah si bien yo no tiendo a usar _root cuando no es necesario la portabilidad se soluciona muy facilmente colocando en el primer frame

Código :

this._lockroot = true; 

XD pero concuerdo contigo en que es bien feo llenar todo con _root

sobre el tema lo que quieres no es dificil
cuando crees tus mc en el ecenario si los colocas a mano (sin codigo) solo nombralos miMc1, miMc2, etc.. ahora si los colocas de forma dinamica haslo asi

Código :

for(i=1;lo que se me de la gana;i++){
 this.attachMovie("miMC",miMC"+i, etc...); 
}


ahora para por ejemplo moverlos todos a la izquierda (mi sentido cardinal favorito)

Código :

for(i=1;lo que se me de la gana;i++){
 set("miMC"+i+"._x", this["miMC"+i+"._x"] - 50);
}

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 May 2007 02:51 pm
A ver, en cuanto a lo del _lockroot, es pues eso un atajo. Válido, pero una no muy buena práctica.
Ahora, otra cosa que desde luego hay que procurar evitar es usar funciones globales (como set) a no ser que sea imprescindible (nunca, para set). De la misma manera, es mejor usar removeMovieClip como un método de la clase Mocieclip miMC.removeMovieClip() que como una función global removeMovieClip(miMC). De hecho, la gran mayoría de funciones globales de AS2 (salvo aquellas para indicar el tipo de las expresiones, como Number()) han desaparecido en AS3.

El código quedaría mejor así:

Código :

for(i=0;i<numeroDeMCs;i++){
 this["miMC"+i]._x -= 50);
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 May 2007 05:55 pm
lo tendre en cuenta ;) buen consejo Zha, en verdad el código queda mas limpio
por cierto
¿ MataPollitos entendiste todo?
¿alguna duda?
¿sera la hora de decir gracias XD ?

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 May 2007 07:55 pm
OK!
Gracias a todos por esta super-respuesta. Me ha quedado mucho mas claro y, sobre todo, me habeis ahorrado muchos copypastes de codigo.
;-)

P.D.:

inyaka escribió:


¿ MataPollitos entendiste todo?


Mi nick no tiene nada que ver con matar pollos sino con ser su testamentario, pero gracias de todas formas. :cool:

Por ChickenExecutor

351 de clabLevel

2 tutoriales
1 articulo

 

El pais de la Resistance

mozilla

 

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