Comment obtenir coin visuel (par exemple. TopLeft) de displayObject pivotée en actionscript 3?
-
19-09-2019 - |
Question
Lors de la rotation d'un objet d'affichage (autour de son centre), le coin visuelle des mouvements de l'élément (x réel et y de la « boîte » reste la même). Par exemple, avec 45 degrés de rotation Coordonnée x aura augmenté et la coordonnée y aura diminué le coin en haut à gauche est maintenant au centre haut de la « boîte ».
J'ai essayé d'utiliser displayObject.getBounds (coordinateSpace) .topLeft Cependant, cette méthode renvoie simplement la x et y de la boîte et ne change donc pas après un objet a été tourné.
Alors, comment obtenez-vous x et y d'un visuelle coin d'un objet d'affichage pivotée?
Mise à jour: ce que je veux dire avec la position d'un angle visuel après rotation -> texte alt http://feedpostal.com/cornerExample.gif
La solution
Il vous suffit de traduire le point de l'espace de coordonnées de son parent.
var box:Shape = new Shape();
box.graphics.beginFill(0xff0099);
box.graphics.drawRect(-50, -50, 100, 100); // ... the center of the rectangle being at the middle of the Shape
addChild(box);
box.x = 100; // note: should be 100 + box.width * .5 in case you want to use the topleft corner to position
box.y = 100;
box.rotation = 45;
// traces the result (Point)
trace( box.parent.globalToLocal(box.localToGlobal(box.getBounds(box).topLeft)) );