Origine des axes de rotation en AS3

sympasteve Messages postés 13 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 24 octobre 2010 - 19 avril 2009 à 13:30
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 21 avril 2009 à 00:59
Bonjour à tous !

Lorsque l'on applique une rotation à un sprite, comment faire pour choisir l'origine des axes de rotation ?

Exemple : On créé un carré placé sur "stage", on souhaite lui appliquer une rotation selon l'axe Y qui serait centré sur le carre (le carre tourne sur lui même).

Merci ! 

3 réponses

gremlins7 Messages postés 380 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 28 décembre 2009
20 avril 2009 à 20:23
Salut,
ca depend, si tu utilise CS4 ou non, si oui alors ca depend de si tu as utilisé une matrice de la classe Matrix3D ou non....

Pour CS4 c'est facile :
1. tu transforme ton carré en symbole (sprite par exemple), en prenant soin de placer le centre du symbole au centre du carré dans l'onglet propriètés quand on edite le symbole.
2. tu rajoute la ligne : monSprite.rotationY+=3.  3 correspond à l'incrementation angle en degré.

si tu as utilisé une matrice de transformation de la classe Matrix3D, il y a une astuce, héhé...tu la trouvera en regardant mon code de carrousel.

En esperant que ça t'aide
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
20 avril 2009 à 20:38
Salut,
 var  monXdeRotation:Number 20.0, monYdeRotation:Number 30.0, angleEnDegres:Number = 45.0;

var matrix:Matrix = monClip.transform.matrix;
matrix.tx -= monXdeRotation;
matrix.ty -= monYdeRotation;
matrix.rotate(angleEnDegres * (Math.PI/180.0));
matrix.tx += monXdeRotation;

matrix.ty += monYdeRotation;
monClip.transform.matrix = matrix;
matrix = null;

Bonne continuation

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 avril 2009 à 00:59
Au final, il est plus simple de faire un "createBox" de la Matrix, et en plus c'est plus propre et ça évite de mal faire les rotations en fonction des translations.

Peg'
0
Rejoignez-nous