2011-05-31 5 views
2

Je dois utiliser Flash CS3, donc je ne peux pas utiliser les propriétés rotationX, roationY et rotationZ.AS3: Simulation de RotationX avec la matrice

J'ai un MovieClip, qui ressemble à ceci. Il est maintenant plat, pas de rotation 3D ou cisaillement

enter image description here

Mais ce que je veux est que ce movieclip a une rotationX, ou qu'il est un peu en perspective comme ceci:

enter image description here

Comme je l'ai dit, je ne peux pas utiliser la rotationX, donc j'ai joué avec Matrix. Mais je ne peux pas le faire correctement.

Voici comment j'essaie de le faire

myMC.transform.matrix = new Matrix (1,0.15,0.35, 1, 0, 0);

Et ceci est le résultat

enter image description here

Pouvez-vous me aider à obtenir le droit de la matrice, ou est-il une autre façon?

Merci, Vincent

Répondre

0

Faites votre vie plus facile et il suffit de télécharger un moteur 3D pour Flash 9:

http://away3d.com/downloads

Ou bien vous pouvez modifier votre installation de CS3 pour produire des fichiers SWF qui ciblent flash 10+

+0

Merci, mais n'est-ce pas exagéré? Utiliser un moteur 3D entier pour ajouter un peu de perspective? – Vinzcent

+0

lol ouais c'est exagéré. Mais vous devez peser par vous-même ce qui est plus exagéré. Passer du temps et faire des recherches en essayant de trouver une méthode appropriée pour simuler la transformation 3D dans un niveau de VM qui ne supporte absolument pas de telles choses, ou simplement prendre un moteur 3D existant et l'utiliser pour faire le même travail. Notez qu'il ya away3D LITE qui est une version très dépouillée du moteur avec juste une transformation 3D de base et un certain support de chargement de modèle. –

0

Désolé, rotationX et rotationY ne sont pas transformées affines (évidemment ils ne conservent pas le parallélisme entre les lignes), de sorte qu'ils ne peuvent pas être représentés par la multiplication des matrices dans l'espace 2D. Il est cependant affine dans l'espace 3D (où la non-conservation des lignes parallèles est un effet apparent de la projection 2D, pas de la rotation)

+0

Merci, une autre solution pour archiver cela? – Vinzcent

0

Je crois que ce que vous essayez de faire est d'obtenir un affine correct matrice de transformation.

enter image description here

ARY (Transformation matrice) http://en.wikipedia.org/wiki/Transformation_matrix

Edits

Pour plus d'informations sur les transformations 3D et leurs matrices, Ici, voir si cela s'applique.

http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/2d_3d_xforms/

Edits 2

Un blog sur 3D TRANSFORM CS3 et CS4.

Rotation 3D la voie facile: Acheter de Flash CS4 uggh! J'utilise toujours CS3 et seulement pour mon logiciel Flash.Mon illustrateur, photoshop, première, et aftereffects sont encore au niveau bas de CS2 et pour des raisons économiques, je suis coincé avec ma configuration logicielle obsolète pour . Mais si vous n'êtes pas dans mon bateau ou sur la même mer que mon bateau, envisager d'acheter le dernier, le plus grand Flash CS4 pour faire de la manipulation 3D inhérente aux objets d'affichage flash. Oui, inhérente, intégrée, facile.

Dans Flash CS3 et au-dessous, un dispositif d'affichage objet (c.-à-image-objet ou movieclip) seulement reconnaît une propriété rotation (rotation: Indique la rotation de l'occurrence DisplayObject, en degrés, à partir de son orientation originale, qui est généralement le en haut à gauche, coin ou 0,0). Cette propriété ne fait pivoter les objets que dans l'espace plat 2D de l'étage Flash. Pour faire du travail en 3D dans ce flash, il faut "faux" avec les mathématiques. Beaucoup de maths, Points, lignes, remplissages, trig, tableaux, et parfois Matrices. Yippee kayae!

Dans Flash CS4 et au-dessus (à partir de l'écriture il n'y a pas ci-dessus), un objet d'affichage (à savoir de l'image-objet ou movieclip) reconnaît quatre (4) les propriétés de rotation. Sacré Vache! Ouais, quatre propriétés de rotation:

rotation: Identique à CS3. Rotation 2D rotationX: faites tourner la merde autour de l'axe X de la platine, c'est-à-dire verticale. rotationY: tourne autour de l'axe Y de la platine, c'est-à-dire retournement horizontal. rotationZ: spin, bébé spin o'er l'axe Z de l'étage . En ce qui me concerne, un spin autour de l'axe Z est le même que rotation (sauf si, pour une raison quelconque, l'axe Z ne traverse pas le point d'orientation de l'objet). [http://actionscription.wordpress.com/2009/03/12/3d-rotation/]

+0

Oh, vous voulez juste tourner sur l'axe X seulement ou l'axe Y seulement? Désolé, je l'ai lu trop rapidement –

+0

Oui, rotationX est ce que je voudrais faire, mais comme j'utilise Flash CS3, je dois trouver autre chose qui fait la même chose. – Vinzcent

Questions connexes