【问题标题】:Play MovieClip frame by frame in addition after same function is executed several times多次执行相同功能后,逐帧播放影片剪辑
【发布时间】:2012-08-15 18:13:37
【问题描述】:

我有一个名为 failure_mc 的 MovieClip,它由 3 个足球组成,在我的游戏中,每当我的球员失败时,我需要在 1 个球上添加一个 X 标记,我有一个 hitTestObject 检测球何时击中目标区域,但是当球出去时,我需要在fails_mc 内播放1 帧并将X 标记添加到球上(我在fails_mc 中​​有3 个不同的png 文件,每帧1 个),这是我正在使用的代码,但我没有'不知道如何逐帧播放fails_mc(请记住,每次都会使用相同的函数,这就是为什么必须将每一帧添加到最后播放的帧:

if (ball.hitTestObject(goalie))
{
    goal_mc.play();
    net_mc.play();
}
else
{
    fails_mc.play(+=1); // This is not working

    trace("It’s a fail");
}

在 3 次失败后,我必须触发另一个函数来完成游戏,但我稍后会弄清楚如何做到这一点。

【问题讨论】:

    标签: actionscript-3 function frame add movieclip


    【解决方案1】:

    我想你所寻找的只是电影剪辑的 nextFrame() 函数。

    您也可以使用 gotoAndStop("x1") - 其中“x1”是您希望电影剪辑转到的帧标签(或数字,如果不是引号)。您可以使用变量来跟踪当前状态。

    var misses:int = 0;
    
    if (ball.hitTestObject(goalie))
    {
    
        goal_mc.play();
        net_mc.play();
    
    }
    else
    {
        misses++;
        trace("It’s a fail");
    
        if(misses > 3){
            //do your game over stuff
        }else{
            fails_mc.gotoAndStop(misses)
        }
    }
    

    【讨论】:

    • 感谢 LondonDrugs,fails_mc.gotoAndStop(2);完美运行,但是下次执行该功能时,我需要去播放下一帧,当玩家错过 3 次射击时游戏应该结束,但执行的功能将是相同的,所以我需要知道如何播放 +1 帧直到3 个球标有 X。谢谢朋友!
    • 哇,LondonDrugs 工作了,但我认为我的代码添加了太多未命中,可能是因为 enterframe 事件,如果我上传我的 .fla 文件,你介意看一下吗?真的很感激哥们,我有点迷路了
    猜你喜欢
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 2011-10-17
    • 2017-11-12
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多