2010-11-20 5 views
1

Je suis rouillé peu de mon trig, donc je ne suis pas sûr de la meilleure façon de le faire ...simple question de rotation en flash

  • J'ai besoin de placer 2 clips sur la scène que se rapportent les uns aux autres
  • ils ne peuvent pas être imbriquées
  • les points Enregistrement de sont au centre

supposer « Clip B » est de 50 px à gauche du « Clip A » comme illustré dans le diagramme à gauche, lorsque "clip A" est ro unes dans les autres je dois pince B suivre (encore 50px) loin, mais avec de nouveaux _x et _y par rapport à la rotation de « clip A » comme dans le schéma ci-

toute aide serait grande

diagram

Répondre

1

Ok, je pense que votre diagramme est censé montrer A tourné dans la deuxième partie droite?

Fondamentalement, vous pouvez considérer le centre de MovieClip B comme un point sur un cercle de rayon 50 et avec l'angle basé sur l'angle de A. Ce code est pour AS3 mais je suppose que vous utilisez AS2? Tout ce que vous avez à faire est d'ajouter le trait de soulignement devant x et y des MovieClips. Notez également que cela tournera dans le sens des aiguilles d'une montre.

function rotateA(angleInDegrees:Number):void 
{ 
    a.rotation = angleInDegrees; 

    var bx:Number = Math.sin(angleInDegrees*(Math.PI/180)) 
    var by:Number = -Math.cos(angleInDegrees*(Math.PI/180)) 

    bx*=50; 
    by*=50; 

    bx+=a.x; 
    by+=a.y; 

    b.x = bx; 
    b.y = by; 
} 
+0

cela a fonctionné comme un charme! les accessoires pour vous! oui, je suppose que le diagramme n'a pas reflété que a été tourné - excatly ce que je tirais avec une fonction qui passe dans l'argument de rotation. le trig revient lentement - merci encore –