这是有问题的代码 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 !!!
答案 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
语句不遵循该模式(看起来它有一个拼写错误),所以如果不打算遵循它,你将需要处理那个单独的。