有没有办法让这个功能更小?

时间:2013-08-11 21:00:30

标签: flash function if-statement

这是有问题的代码 a当得分为X时,动画播放直到特定帧时具有星形动画 如何使用较少的ifs使这个功能更小? 因为你可以把功能从500到0。

addEventListener(Event.ENTER_FRAME, star);
function star(e:Event):void{
if (totalScore<= 500 && totalScore>490) {
    if(GAME.stars.currentFrame == 51){
    GAME.stars.stop();
    }
}
if (totalScore<= 490 && totalScore>480) {
    if(GAME.stars.currentFrame == 50){
    GAME.stars.stop();
    }
}
///...
    if (totalScore= 0 && totalScore>10) {
    if(GAME.stars.currentFrame == 1){
    GAME.stars.stop();
    }
}
}    

THX !!!

1 个答案:

答案 0 :(得分:2)

根据您发布的模式,我会这样写:

addEventListener(Event.ENTER_FRAME, star);
function star(e:Event):void{
    if (GAME.stars.currentFrame == (Math.ceil(totalScore / 10) + 1)) {
        GAME.stars.stop();
    }
}

然而,正如@putvande指出的那样,最终的if语句不遵循该模式(看起来它有一个拼写错误),所以如果不打算遵循它,你将需要处理那个单独的。