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

Était-ce utile?

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)) );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top