2009-05-18 7 views
1

Je travaille actuellement à essayer d'avoir plusieurs MC dans un conteneur MC qui, quand on clique sur les mini MCs, diffusera un message pour que je puisse agir sur eux. Ce serait simple dans AS 3 car ce serait mc.addEventListener (MouseEvent.CLICK, obj); cependant, c'est AS 2 et donc je suis semi-forcé d'utiliser le broadcastMessage ('myMessage'); et mc.addListener (obj); gestionnaire d'événements.Multiple MCs, Single Listener, AsBroadcaster

Le problème principal est que le diffuseur ne diffuse aucun message.

Le deuxième problème est qu'il y a 5 MC et quand je clique sur l'un d'entre eux, je reçois 5 messages de trace au sujet du clic. Je n'arrive pas à garder les clics de MC uniques bien qu'ils aient tous des noms d'instance séparés dans le panneau des propriétés.

Toute aide serait appréciée.

Un lien vers mon code est here (pastie.org #481511). Pouvez-vous voir quelque chose de mal?

Répondre

0

J'ai répondu à moitié. Il me manquait un "ceci" avant l'appel de broadcastMessage() donc une fois que je l'ai changé en this.broadcastMessage ('myMessage', ceci) il a commencé à fonctionner. Vous avez toujours le problème avec 5 instances différentes (par exemple, glissé-& -dropped 5 fois de la bibliothèque et nommé les différents noms d'occurrence) d'un clip appelant tous le même message de diffusion en même temps. Je reçois la sortie suivante:

Object: _level0.instance1.photo5 
Object: _level0.instance1.photo4 
Object: _level0.instance1.photo3 
Object: _level0.instance1.photo2 
Object: _level0.instance1.photo1
0

Compris. Fini par devoir utiliser la méthode hitTest() pour voir si le clic était dans un MovieClip spécifique ou non.