Comunidad de diseño web y desarrollo en internet online

Eventos dinamicos en MC dinamicos

Citar            
MensajeEscrito el 12 Ago 2006 03:09 am
HOla.
Estoy haciendo unas animaciones donde creo "n" cantidad de Clips de acuerdo a los datos de un archivo XML. Y debo generar los eventos para cad auno de estos.

En el frame 1 de la Escena 1, tengo un clip mapa_mc, que a su vez, tiene dentro otro clip llamado mapaFoto_mc y un botón llamado iconos_btn.
En la biblioteca tengo un clip llamado icono_mc que está vinculado para exportación al primer frame. Dentro de este icono_mc tengo un clip llamado circulo_mc, con su evento on(rollOver){ trace("CIRCULO OVER"}

El botón iconos_btn en su evento on(release), carga un archivo XML que me devuelve una cantidad que será la cantidad de iconos que se crearan
for (i=0; i<totalIconos; i++){
nombreClip = i+"icono_mc";
deep = i+1;
_root.mapa_mc.mapaFoto_mc.attachMovie("icono_mc",nombreClip,deep);
--- inmediatemente despues, les agisno su posicion en X y Y
}

Se supone que ya que circulo_mc tiene en su evento rollOver un codigo, este se deberia ejecutar, pero no es asi.
Ahora, Ya intenté agregando en tiempo de diseño una instancia de este clip icono_mc dentro del niveol de _root. Y no hay problema.
Pero dentro del nivel de _root.mapa, ya no me ejecuta el rollOver.

¿Saben por qué se pierde el rollOver?

Por otro lado, Quisiera asignar algunos eventos dinamicamente dentro del for, inmediatamente despues de crear los clips. Por ejemplo, de acuerdo a los datos del XML, necesito que algunos clips respondan al su evento onRollOver, otros a su evento onPress, etc. Cada uno puede tener diversos eventos.

¿Como puedo generar sus eventos dinámicamente y asignárselos, si antes de crearlos, no sé cuantos serán ni qué eventos correponden a cada uno?

Gracias.

Por PoeTux

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2006 01:18 pm
Los eventos escritos en los botones están desfasados. Si aun no lo has hecho, pon en el panel de propiedades de tu círculo, donde pone "nombre de instancia" circulo_mc. En el primer fotograma de tu mc (su línea del tiempo) pon:
circulo_mc.onRollOver=function(){
trace("ahora funciona");
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 12 Ago 2006 06:53 pm
Zah !!!! Gracais. fijate que ya fuciona, y es más, hasta funciona como lo tenía. Ya me di cuenta dónde esta el problema. El problema ahora, radica en que Tengo:
Nivel 1 Padre --> mapa_mc (_root.mapa_mc)
Nivel 2 Hijo ----> mapaFoto_mc (_root.mapa_mc.mapaFoto_mc)
Nivel 3 Hijo-Hijo--> icono_mc (_root.mapa_mc.mapaFoto_mc.icono_mc) (el que creo con attachMovie)
Nivel 4 Hijo-Hijo -Hijo circulo_mc (_root.mapa_mc.mapaFoto_mc.icono_mc.circulo_mc)

Ahora..... icono_mc, tiene en el primer frame circulo_mc.onRollOver = funcion(){ trace("ya jalo");}

Ok, no hay bronca, pero sucede que mi problema es que en _root, tengo un codigo mapa_mc.onPress = function(){ lo que sea};

Y por lo que me di cuenta, entre pruebas y pruebas y checarlo bien.
Pues sucede que ese evento mapa_mc.onPress se activa antes de circulo_mc.onRollOver, y al mismo tiempo, me lo deshabilita. POr lo que nunca llega la llamada al evento circulo_mc.onRollOver.

Saben cómo puedo corregirlo?

O de pasada...
Si creo un MC con attachMovie, e inmediatamente le asigno propiedades X y Y, puedo crearle eventos tambien? al estilo de:
with (_root.mapa_mc[mcCreado_mc]){
_x = 100;
_y = 100;
onPress = function() { };
onRollOver = function() {};
}

Es posible hacerlo? Digo, es que por el momeno no me reponde bien esta cosa con mi problema anterior. jejejej

Por PoeTux

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2006 07:24 pm
A ver, sobre lo primero, es un curioso bug... mete todo lo demás en un movieClip y usa todoLoDemas.onPress... no veo otra más fácil.
En cuánto a de los eventos, también deberias desechar el with. Mejor así:
var myMc=this.attachMovie(blablalba...)
myMc.propiedad="hola"
myMc.onRelease=function(){ç
trace(this.propiedad);
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

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