2009-07-24 5 views
1

Je crée une application de dessin simple qui ajoute de nouveaux objets Shape à un "canvas" MovieClip chaque fois que l'utilisateur clique et fait glisser. Le problème est que je remarque que même si les écouteurs MouseEvent sont définis sur MovieClip, les objets Shape enfants sont également renvoyés en tant que cibles. Cela interrompt également localX et localY, provoquant le déplacement du curseur de dessin au fur et à mesure que les coordonnées changent d'être local à l'intégralité de MovieClip en local à la forme que la souris est actuellement terminée.Comment obtenir le MouseEvent.localX et localY d'une cible mais pas ses objets enfants?

Existe-t-il un moyen de récupérer la cible parentale la plus élevée à partir d'un événement MouseEvent?

+0

post mis à jour ... greetz – back2dos

Répondre

2

vous simplement peut-être voulez définir DisplayObjectContainer::mouseChildren-false ... autre que cela, vous pouvez le currentTarget, ce qui devrait être votre MovieClip et utiliser son DisplayObject::mouseX et DisplayObject::mouseY ... ou vous pouvez utiliser le MouseEvent::stageX et le MouseEvent::stageY puis DisplayObject::globalToLocal pour le transformer à votre espace de coordonnées MovieClip ...

petit sidenote: pourquoi MovieClip et non Sprite?

modifier: le point réel, pourquoi je n'aime pas utiliser MovieClip est, qu'il est dynamique, de sorte que vous obtenez aucune erreur du compilateur sur les fautes de frappe ...

greetz

back2dos

+0

La toile fait d'autres choses qui nécessitent un MovieClip. Cependant, je peux simplement faire cela et utiliser un sprite à la place. Dans l'ensemble, un clip ne va pas faire trop mal en termes de performance. – Soviut

Questions connexes