如何让影片剪辑在另一个影片剪辑的某个点旋转?

时间:2015-10-20 05:02:10

标签: actionscript-3 rotation point flash-cs6 flashdevelop

嘿大家现在这样做几天了。仍然无法弄清楚如何实现这一目标......

所以我在这个影片剪辑中有一个名为cannon的影片剪辑我有一个名为firePoint的空影片剪辑现在我要做的是有一个名为ball的影片剪辑超出空的影片剪辑点firePointcannon正在旋转,大炮登记点位于中间。我希望ball与大炮firePoint上的cannon一起旋转。

每当我尝试这样做或者即使我将球加到大炮火点上,球根本不会放在大炮附近,而是放在左上方的屏幕上。球也不会在大炮的末端旋转,这是火点。

以下是我在构造函数中的内容:

        cannon = new mcCannon();
        cannon.x = (stage.stageWidth / 2);
        cannon.y = (stage.stageHeight / 2);
        stage.addChild(cannon);

        globalFirePoint = localToGlobal(new Point(cannon.firePoint.x, cannon.firePoint.y));

        ball = new mcBall();
        stage.addChild(ball);

        stage.addEventListener(Event.ENTER_FRAME, logicHandler);

在ENTER_FRAME事件中,我有大炮旋转的地方,我知道为了让我的球与大炮一起旋转,我需要它在ENTER_FRAME中,就像这样:

private function logicHandler(e:Event):void 
    {
        cannon.rotation ++;

        ball.x = globalFirePoint.x;
        ball.y = globalFirePoint.y;
    }

上面的代码没有做任何事情,只是将球放在错误的位置,只旋转大炮。我已经尝试了很多但仍然失败了。我想要的只是让球正确定位并随着大炮firePoint旋转,这样我以后可以在不同的角度进行射门。

请任何帮助将不胜感激!谢谢!

0 个答案:

没有答案