【问题标题】:adobe flash cs5 how to move the container & childrensadobe flash cs5 如何移动容器和儿童
【发布时间】:2013-02-27 23:52:55
【问题描述】:

那么我怎样才能为坦克(没有代码 as3)创建一个容器来移动坦克(使用 as3,如 tank.x += tankSpeed)本身以及他的所有部件(轮子、转轮、其他东西) ,因为我不想在每一帧中独立移动所有部件,例如旋转转轮并同时移动坦克的容器,我没有在 adobe flash cs5 中找到如何添加形状(矩形,圈...)到某个主容器并给它一些对象名称,然后在代码(as3)中得到类似的东西:

container //get the container itself

container.child1

container.child2

当然可以

【问题讨论】:

    标签: actionscript flash-cs5


    【解决方案1】:

    在CS5中新建一个MovieClip,放到舞台上,并给它实例名tank。在 MovieClip 里面画出你的坦克,但是将每个移动部件放入它们自己的 MovieClips 中,每个部件都有一个唯一的实例名称,比如 wheel_1wheel_2turretother_thing

    现在您可以像这样独立于主时间轴上的代码来操作坦克的各个部分:

    tank.wheel_1.play();
    tank.turret.stop();
    tank.wheel_2.gotoAndPlay('reverse');
    

    移动坦克的简单程序如下所示(未经测试):

    var speed = 10;
    
    this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    
    // Execute on each frame
    function enterFrameHandler(event:Event):void
    {
        tank.x += speed;
    }
    

    【讨论】:

    • hmmmm 是的,工作正常,我创建了一个动画并给了他一个对象名称,所以如果我写 tank.stop() - 动画将成功停止,但如果我写 tank.body .stop() - 它不起作用,有 2 个对象名称,movieClip 对象名称和动画本身的名称,如果我写的话,我不知道如何停止特定部分的动画,而不是所有部分tank.animObjectName.stop() - 我得到一个错误
    • 确保移动部件都有实例名称,并且在您的坦克 MovieClip 的每一帧上都可以访问。
    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 2012-03-19
    • 1970-01-01
    • 2011-07-10
    • 2020-05-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    相关资源
    最近更新 更多