有问题的AS3代码/导出的swf无法按预期工作

时间:2014-02-01 14:56:20

标签: actionscript-3 function if-statement flash

嗯,我对这个动作内容很新。以下代码有什么问题吗?每当我导出它时,.swf电影不播放,它只显示第一帧。函数中的“if() - 条件”是否“可能”?

import flash.events.MouseEvent;

play();
if(currentFrame == 138){
gotoAndStop(138);
}
pers_btn.addEventListener(MouseEvent.CLICK,pers);
function pers (event:MouseEvent):void
{
    gotoAndPlay(161);
    if(currentFrame == 220)
    stop();
}
kent_btn.addEventListener(MouseEvent.CLICK,kent);
function kent (event:MouseEvent):void
{
    gotoAndPlay(161);
    if(currentFrame == 205)
    gotoAndPlay(236);
    if(currentFrame == 251)
    stop();
}
lebe_btn.addEventListener(MouseEvent.CLICK,lebe);
function lebe (event:MouseEvent):void
{
    gotoAndPlay(161);
    if(currentFrame == 205)
    gotoAndPlay(221);
    if(currentFrame == 235)
    stop();
}
refe_btn.addEventListener(MouseEvent.CLICK,refe);
function refe (event:MouseEvent):void
{
    gotoAndPlay(161);
    if(currentFrame == 205)
    gotoAndPlay(252);
    if(currentFrame == 265)
    stop();
}
zuru_btn.addEventListener(MouseEvent.CLICK,zuru);
function zuru (event:MouseEvent):void
{
    gotoAndStop(138)
}

请帮助我,我真的很绝望。 :/

1 个答案:

答案 0 :(得分:0)

你的前几行没有任何意义,他们基本上说如果用户在第138帧,他将进入第138帧。

是的,如果函数中有可能的语句。此外,“If语句”要求您使用大括号,就像函数一样(这可能就是您遇到问题的原因)。所以最终结果将如下所示

function pers (event:MouseEvent):void
{
    gotoAndPlay(161);
    if(currentFrame == 220)
    {
     stop();
    }
}

此外,你的一些功能看起来像是在播放两个独立的帧,这可能会导致错误(我没有经验调用两个独立的帧,因此我只能假设它有麻烦)希望有所帮助!