2012-12-08 2 views
1

J'ai ce code ActionScript. Ce que j'essaie de faire est de déclencher un événement de souris sur imgSprite, qui est un élément enfant de imageContainer. Je m'attendais à le triger sur les coordonnées de la souris sur imgSprite, mais à la place il utilise la dernière instance chargée de imgSprite. Pour obtenir une image plus grande, j'essaie de changer deux pièces du puzzle alors quand j'en lâche une, celle en dessous est prise immédiatement. Je fais cela en supprimant le supérieur (selectedImage) et en envoyant un événement mouse_down qui devrait être détecté par l'écouteur d'événement (pointant vers imgSprite) et dirigé vers la fonction mouse_down.As3 envoyer un événement mouse_down sur Sprite

function mouse_Down(e:MouseEvent):void 
    { 
     dropSelectedImage(); 
     if(selectedImage) imageContainer.addChild(selectedImage); 
     imageContainer.removeChild(e.currentTarget as Sprite); 
     imageContainer.addChild(e.currentTarget as Sprite); 
     selectedImage = e.currentTarget as Sprite; 
     selectedImage.startDrag(); 
    } 
    function mouse_Up(e:MouseEvent):void{ 
     dropSelectedImage(); 
     imageContainer.removeChild(selectedImage); 
     imgSprite.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN,true,true)); 
    } 

Répondre

0

d'activer et de déboguer la différence entre even.target et event.currentTarget.

+0

Pouvez-vous être plus précis? Si je mets des bulles, cela n'affectera-t-il pas tous les éléments parents? Je veux seulement qu'imgSprite soit affecté – wedran

+0

seulement s'ils ont aussi des écouteurs d'événements. – csomakk

Questions connexes