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

Actionscript 3 如何让电影剪辑在另一个电影剪辑的某个点旋转?,actionscript-3,rotation,point,flash-cs6,flashdevelop,Actionscript 3,Rotation,Point,Flash Cs6,Flashdevelop,嘿,大家好,这几天我们还在继续。仍然不知道如何实现这一点 所以我有一个叫cannon的电影剪辑在这个电影剪辑里面我有一个空的电影剪辑叫做firePoint现在我要做的是在空的电影剪辑point firePoint中有一个叫做ball shoot的电影剪辑。大炮旋转,大炮对准点在中间。我想让球在火炮火力点随着大炮旋转 每当我尝试这样做,或者即使我将球添加到加农炮火力点,球根本不会位于加农炮附近,而是位于左上方的屏幕上。此外,球在火炮的末端(即火力点)不会旋转 以下是迄今为止我在构造函数中的内容:

嘿,大家好,这几天我们还在继续。仍然不知道如何实现这一点

所以我有一个叫cannon的电影剪辑在这个电影剪辑里面我有一个空的电影剪辑叫做firePoint现在我要做的是在空的电影剪辑point firePoint中有一个叫做ball shoot的电影剪辑。大炮旋转,大炮对准点在中间。我想让球在火炮火力点随着大炮旋转

每当我尝试这样做,或者即使我将球添加到加农炮火力点,球根本不会位于加农炮附近,而是位于左上方的屏幕上。此外,球在火炮的末端(即火力点)不会旋转

以下是迄今为止我在构造函数中的内容:

        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);
在进入画面事件中,我让大炮旋转,我知道为了让我的球与大炮一起旋转,我需要它处于进入画面中,就像这样:

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

        ball.x = globalFirePoint.x;
        ball.y = globalFirePoint.y;
    }
上面的代码只会在错误的位置产生球,只会旋转加农炮。我试了这么多,但还是失败了。我只想让球正确定位,并在火炮火力点随火炮旋转,这样我以后可以让球从不同角度射门


如果您有任何帮助,我们将不胜感激!谢谢大家!

首先,您的globalfirepoint没有更新,它只初始化了一次。其次,为什么不将球添加到fire point电影剪辑本身?这样你就不用担心旋转了,因为它会和它的父对象一起旋转?哦,好吧,这是有道理的。但将球电影剪辑添加到壁炉点会导致从那个点发射球的问题。当我设置鼠标事件将球从旋转的加农炮中射出时,球也会旋转,并且不会沿着加农炮的角度直线移动。firePoint.addchildball;不能正常工作:/球无论何时射出都会弯曲。是的,你是对的。也许可以这样做:将球添加到火点,让它旋转,除非发生火灾事件。然后从firepoint mc中移除该球,计算一次全局位置,然后在舞台上添加一个新球并设置其轨迹动画。这样你就不必在每一帧中重新计算位置了?很有趣。听起来可能会成功。但当你说“动画”时,你的意思是创建一个新的电影剪辑对象球,并使其在两条直线之间?