flash中的简单旋转问题

时间:2010-11-20 06:42:37

标签: flash

我的触发器有点生疏,所以我不确定这样做的最好方法......

  • 我需要在舞台上放置两个相互关联的电影剪辑
  • 他们不能嵌套
  • 注册点位于中心

假设“剪辑B”在“剪辑A”左侧50 px,如左图所示, “剪辑A”旋转,我需要剪辑B跟随(仍然50px),但新的 _x和_y相对于“剪辑A”的旋转,如右图所示

任何帮助都会很棒

diagram

1 个答案:

答案 0 :(得分:1)

好吧,我认为你的图表应该显示A在第二部分旋转了吗?

基本上,您可以将MovieClip B的中心视为半径为50且角度基于A角度的圆上的点。此代码适用于AS3,但我猜您使用的是AS2?您需要做的就是在MovieClip的x和y前添加下划线。另请注意,这将顺时针旋转。

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;
}