StartDrag() et MOUSE_OVER event

Zeplayerfou Messages postés 7 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 22 juin 2009 - 2 mai 2009 à 13:57
Zeplayerfou Messages postés 7 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 22 juin 2009 - 2 mai 2009 à 14:07
Bonjour à tous,

Mon problème concerne l'actionscript 3.0

Je tente de faire un jeu similaire à celui-ci http://www.eskimo.com/games/pipegame/ et je me retrouve confronté à un problème assez frustrant au niveau des RollOver sur les cases de ma grille.

Mon architecture actuelle est assez simple :
J'ai un objet Grid qui contient plusieurs objet Block. J'ai déclaré pour les objets Block un eventListener sur le MOUSE_OVER, qui fait que les bords de la case soient mis en surbrillance qd le pointeur est au dessus (très similaire à the pipe game donc).

Je veux déposer des objets Pipe dans cette grille, à l'aide d'un drag and drop. Chaque Pipe a donc un eventListener sur le MOUSE_DOWN qui active le drag, et un autre sur le MOUSE_UP qui le désactive.

Le soucis est le suivant :
- Si j'ajoute à la scène la Grid avant un Pipe, lors du drag de mon Pipe, l'évènement mouseOver des Blocks ne se déclenche plus (logique vu que le Pipe est "au dessus" de ma grille...).
- Si j'ajoute un Pipe avant ma Grid, après déclenchement du drag (MOUSE_DOWN sur le Pipe) je n'ai plus le focus sur mon Pipe quand le pointeur passe sur la Grid, en d'autre terme si je relache la souris, l'évènement MOUSE_UP du Pipe n'est plus déclenché.

Y aurait-il un moyen de résoudre ce soucis sans passer par des ajouts d'EventListener croisés entre les classes ?

1 réponse

Zeplayerfou Messages postés 7 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 22 juin 2009
2 mai 2009 à 14:07
Je retape une fois de plus mon message, cette fois avec des retours chariots...

Bonjour à tous,
Mon problème concerne l'actionscript 3.0

Je tente de faire un jeu similaire à celui-ci http://www.eskimo.com/games/pipegame/ et je me retrouve confronté à un problème assez frustrant au niveau des RollOver sur les cases de ma grille.

Mon architecture actuelle est assez simple :
J'ai un objet Grid qui contient plusieurs objet Block.
J'ai déclaré pour les objets Block un eventListener sur le MOUSE_OVER, qui fait que les bords de la case soient mis en surbrillance qd le pointeur est au dessus (très similaire à the pipe game donc).

Je veux déposer des objets Pipe dans cette grille, à l'aide d'un drag and drop. Chaque Pipe a donc un eventListener sur le MOUSE_DOWN qui active le drag, et un autre sur le MOUSE_UP qui le désactive.

Le soucis est le suivant :
- Si j'ajoute à la scène la Grid avant un Pipe, lors du drag de mon Pipe, l'évènement mouseOver des Blocks ne se déclenche plus (logique vu que le Pipe est "au dessus" de ma grille...).
- Si j'ajoute un Pipe avant ma Grid, après déclenchement du drag (MOUSE_DOWN sur le Pipe) je n'ai plus le focus sur mon Pipe quand le pointeur passe sur la Grid, en d'autre terme si je relache la souris, l'évènement MOUSE_UP du Pipe n'est plus déclenché.

Y aurait-il un moyen de résoudre ce soucis sans passer par des ajouts d'EventListener croisés entre les classes ? (et je rajouterai même que je ne suis pas sur comment faire ça..)
0
Rejoignez-nous