Listener sur plusieurs couches
Bonjour à tous,
Je suis débutant en Flash, mais ai quelques bases sur Java/C/ et même AS.
Voilà un mois j'ai commencé à apprendre à utiliser Macromedia Flash Pro et suis en plein développement d'un jeu style Heroquest (jeu de plateau).
Le logiciel étant imité à AS2 et Flash 8, j'ai décidé de passer la seconde et suis sous Adobe Flash Pro depuis 4 jours.
J'ai beaucoup peiné à retranscrire mon code de +2500 lignes en AS3, mais j'en vois enfin le bout.
Ceci étant, je reste confronté à un problème dont les nombreux forums parcourus ne m'ont en rien clarifier les choses.
Mon problème de Listener :
Un MovieClip: terrain --> enfant de this
Plusieurs MovieClips: monstres, mobiliers --> enfants de terrain.
Un MovieClip: hero --> enfant de this (un seul token regroupant plusieurs personnages détaillés sur la bordure)
Un MovieClip: premier_plan --> enfant de this
Plusieurs MovieClips: portes --> enfants de premier_plan.
Un MovieClip: bordure --> enfant de this
Plusieurs MovieClips: tout ce qui me sert à afficher des informations, les icônes des différents personnages, les boutons de menus... l'interface en somme
Cela me fait donc 4 couches distinctes, car mon terrain se doit de bouger indépendamment du héro ou de la bordure, et les porte de premier_plan pour faier illusion que le héro passe dessous.
J'ai des listeners sur les monstres, le héros, et sur tout ce qui est sur la bordure ainsi que sur this pour le clavier (déplacements du héro...) ou souris (déplacement du héro, attaque sur les monstres...)
C'est là qu'est mon problème ! Seule la couche la plus haute intercepte mes listeners, et j'ai beau retourner mes couches^^ sens dessus-dessous, il manque toujours quelque chose.
Quelques exemples de mes listeners :
hero.addEventListener(MouseEvent.ROLL_OVER, hero_mouseOver);
mClipMob_176.addEventListener(MouseEvent.ROLL_OVER, afficheCibleDescription_RollOver);
stage.addEventListener(KeyboardEvent.KEY_DOWN, ecouteur_keyDown);
addEventListener(MouseEvent.CLICK, ecouteur_mouseClick);
Merci d'avance de vos remarques.