Je viens de jeter cet exemple de code super simple dans un script d'image IDE Flash CS4, mais il ne sort rien dans la console. Je suis simplement en train de passer ma souris au-dessus de la fenêtre, sans rien cliquer, et rien ne se passe. Pourquoi cela ne fonctionne-t-il pas comme prévu?Événement.MOUSE_LEAVE ne fonctionne pas dans AS3
stage.addEventListener(Event.MOUSE_LEAVE, traceMouse);
function traceMouse(Evt:Event):void
{
trace("Mouse Left Stage");
}
________________________________________________
[EDIT] je trouve Event.MOUSE_LEAVE incroyablement inutile. d'abord, il ne fonctionne pas dans l'environnement de test (sur Flash CS4 pour Mac OS X, au moins). D'autre part, il ne se déclenche pas si MouseEvent.MOUSE_DOWN est actuellement actif:
Flash CS4 Professional ActionScript 3.0 Langue Référence:
Mise à jour 11/08/09: qualification Ajouté cet événement ne se déclenche pas lorsque le bouton est pressé. 1
dans ma situation, je voulais MOUSE_LEAVE au feu alors que je traînais un objet de telle sorte que dans le cas où l'utilisateur fait glisser son/son pointeur de la souris hors de la scène, il mettrait le feu stopDrag(). Puisque ce n'est pas possible, j'ai décidé d'utiliser MOUSE_OUT sur l'objet réel plutôt que sur MOUSE_LEAVE sur le parent ou la scène de l'objet.
private function mouseDownHandler(evt:MouseEvent):void
{
object.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
object.startDrag(false, pullBounds);
}
private function mouseUpHandler(evt:MouseEvent):void
{
object.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
object.stopDrag();
}
private function mouseOutHandler(evt:MouseEvent):void
{
object.stopDrag();
}
Il fonctionne dans l'IDE Flash CS4 pour moi (Win XP), mais le fait qu'il ne fonctionne pas lorsque la souris est pressé rend Adobe est vraiment ennuyeux ces jours-ci.W BTW où avez-vous trouvé la note? Ce lien ne fonctionne pas .. –
il a été écrit dans la documentation 10.0 pour Flash 10.1 sous flash.display.Stage.mouseLeave, mais ils semblent avoir – TheDarkIn1978