更改每个级别的背景颜色(js游戏)

时间:2015-12-02 20:04:55

标签: javascript css javascript-events

我试图在经典游戏Duck Hunt中改变3个等级的背景颜色。我得到了原始源代码格式git hub(https://github.com/MattSurabian/DuckHunt-JS),现在有3个级别,并希望级别改变背景颜色从白天到晚上但是不确定在JS脚本中调整代码的位置,所以每个级别有不同的背景颜色?

我找到了这个设置每个级别的背景颜色:

// ensure background color is set correctly
this.playfield.animate({
    backgroundColor: '#64b0ff'
}, 900);

this.curWave++;
if (this.curWave > this.level.waves) {
    this.hideLevelInfo();
    this.playfield.trigger('game:next_level');
    return;
}

但是想知道如何设置它以便第一级有颜色#000 level 2 #fff等

1 个答案:

答案 0 :(得分:0)

您可以使用级别作为表达式值将其包装在case语句中。

var level = 0; //place outside the function in the global scope or if you want to namespace it, you can place the variable in a getter/setter and update the level whenever you call the setter.


level++;
switch(level) {
    case 1:
        this.playfield.animate({
            backgroundColor: '#565656'
        },900);
        break;
    case 2:
        this.playfield.animate({
            backgroundColor: '#000'
        },900);
        break;
    case 3:
        this.playfield.animate({
            backgroundColor: '#fff'
        },900);
        break;
    default:
       this.playfield.animate({
        backgroundColor: '#64b0ff'
       },900);
    break;
}

您必须确保每个级别更改调用该函数并为该级别设置计数器。当级别增加时,将计数器递增1并将其用作语句中的级别值。