重绘功能不是重绘每个对象

时间:2019-05-03 20:15:55

标签: javascript canvas draw

我的类“ Player”具有如下所示的重绘方法。也可以使用相同的方法创建“敌人”类,但fillStyle更改为蓝色。

redraw(){
        ctx.beginPath();
        ctx.fillStyle = "white";
        ctx.fillRect(this.posX, this.posY, this.width, this.height);
        ctx.closePath();
}

然后在函数draw中调用它们

function draw(){
    update()
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    player.redraw();
    for (var enemy in enemies) {
        enemies[enemy].redraw();
    }
    for(var shot in shots){
        shots[shot].redraw();
    }

}

绘制了玩家,但没有绘制敌人。(更新方法使位置重新计算和其他与画布上绘制无关的东西)。 为什么?

0 个答案:

没有答案