2010-03-11 5 views
0

Une raison pour laquelle j'ai lutté avec cela pendant un certain temps. J'ai une caméra de papervision qui tourne à l'aide de la saisie au clavier, j'ai un radar dont je voudrais orienter vers la direction quand la caméra tourne.360 degrés de rotation à l'objet 2d à partir de l'objet papervision 3d dans actionscript

Je l'ai tout travailler en dehors de ma cartographie (caméra) DisplayObject3D.rotationY à RadarInterface.rotation correctement.

L'appareil photo (ou tout autre objet 3d) fonctionne avec des valeurs Je trouve difficile: : 0 to 89, 89 to 0, -0 to -89, -89 to -0 Clockwise font un complet

360.

Donc, si je devais tourner à 180 degrés je vais de 0 à 90 et redescendre à 0 à nouveau.

Est-ce que quelqu'un sait comment convertir cela à 360 degrés.

Merci d'avance.

Répondre

0

Je ne vois pas très bien comment ces chiffres pourraient fonctionner. Dans le passé, j'ai eu des problèmes de rotation avec des objets qui tournaient mal à cause du changement de flash de 270 à -90 ou quelque chose comme ça. La déclaration ci-dessous m'a aidé à cela à quelques reprises; il change la plage de 0 à 360 à -180 à 180.

if (Math.abs (difference) > 180) { 
    difference = difference > 0 ? difference - 360 : 360 + difference; 
} 

Voulez-vous dire que 45 degrés retourneraient la même valeur que 135?

+0

Belle. Ceci couplé avec moi en changeant la formule pour travailler avec localRotationY au lieu de simplement rotationY travaillé. la rotation est une valeur corrigée du degré, mais localRotation est constante. Cela ira de 0 à 360 + sans réinitialiser à 0 - donc si vous alliez deux fois, il faudrait lire 720 au lieu de zéro. – Glycerine