2009-09-24 5 views
0

J'essaie de comprendre les coordonnées de la scène (x, y) afin que je puisse faire bouger un objet dans une légende lorsqu'un objet dans une image est cliqué.trouver des coordonnées sur la scène avec AS3

Merci

+0

Que voulez-vous dire? Essayez-vous de comprendre les coordonnées d'un clic de souris sur la scène, ou la position d'un objet sur la scène, ou voulez-vous transformer les coordonnées locales en coordonnées globales? – Allan

+0

Vous voulez expliquer la situation de façon un peu plus détaillée? – Amarghosh

Répondre

1

Si je comprends bien votre question ... ... une solution consiste à ajouter un Listener MouseEvent à la scène, puis accéder à la stageX et les propriétés stageY de l'événement. Par exemple:

(. Excusez-moi que je suis un peu trop occupé au travail en ce moment pour tester ce code, mais quelque chose le long de ces lignes devrait fonctionner)

stage.addEventListener(MouseEvent.CLICK, handleClick); 

private function handleClick(event:MouseEvent):void { 
    var x:int = event.stageX; 
    var y:int = event.stageY; 

    var whatWasClicked:Object = event.target; 

    //do things with x,y depending on what the target is 
    //something like 
    //if(whatWasClicked is MovieClip){ 
    // (whatWasClicked as MovieClip).x = 200; 
    //} 
} 

Bien sûr, vous n'avez pas ajouter l'écouteur d'événement à la scène. Vous pouvez l'ajouter à n'importe quel objet pertinent. L'objet parent de vos éléments d'image peut être idéal. Vous obtenez le stageX/stageY de n'importe quel MouseEvent.

espoir qui aide quelqu'un, -Kevin

1

utilisation stage.mouseX et stage.mouseY homme, e.stageX et e.stageY est utilisé pour currentTarget « s coordonnées uniquement.