Flash 10 – Rotation 3D d’une facette
admin février 7th, 2009
Suite à la sortie de Flash 10, j’ai voulu tester la propriété d’un MovieClip qui peut maintenant en plus des coordonnés X, Y avoir une position en Z et lui assigner un angle via rotationZ.
Je me suis fortement inspiré d’un article du blog de Mike Chambers. J’ai traduit son code source en français et fais quelques changements. Ce qui est très intéressant, c’est que le moteur de rendu calcul automatiquement les fuyantes en perspective.
A noter pour ceux qui ne la connaîtraient pas, l’astuce qui permet d’accéder à une propriété d’un objet via la chaîne de caractère de son nom.
// cette écriture trace(logo.rotationZ); // est identique à property:String = "rotationZ"; trace(logo[property]);
Clic-droit sur le fichier Flash pour accéder aux fichiers sources et à son Zip
ou lien.
- Actionscript , Flex
- Comments(2)

bonjour,
Cette fonction .rotationZ ne marche que dans CS4 ? sa veut dire qu’il y a des fonction as3 contenue dans CS4 qui ne sont pas dans CS3 ?
C’est une très bonne démo qui montre les dernières possibilités du SDK Flex en termes de 3D
Cela dit cette démo se base sur une image (), donc les transformations 3D fonctionnent bien.
Je dois faire face à un problème de mon côté, car je n’utilise pas une image comme source mais une Shape :
-Je dessine une forme en ActionScript, en traçant des lignes à partir d’un fichier de points
[-J'ajoute cette Shape au canevas, en l'incluant dans un UIComponent.]
-J’applique une rotation (.rotationY = 10; par exemple)
-Je modifie l’échelle (.scaleX et .scaleY)
=> et là c’est le drame, c’est tout pixelisé
Il semblerait que le flash player transforme ma Shape « vectorielle » en BitmapData… >.<
(cf liens)
Mouarf c’est nul !
Donc je vais tenté de faire un merdier genre dérotationer, mettre à l’échelle, rerotationer pour éviter cette pixelisation, mais si quelqu’un à déjà trouvé une solution fonctionnelle ou d’autres idées je suis preneur !
Liens :
http://opensource.adobe.com/wiki/display/flexsdk/3D+Effects+Support
« projection matrix: the matrix used to take a object in 3D and flatten it down into a bitmap that can be rendered on screen »
http://board.flashkit.com/board/showthread.php?t=792782
« Objects become bitmaps upon rotation in CS4. »