0

我找到了这个在画布上运行的游戏。

他们怎么能在同一位置(在 1 个画布中)有 2 个字符?

他们可能每秒都在更新游戏角色,如下所示:

context.clearRect(0, 0, width, height);
for (i=0;i<players.lenght;i++){
   context.drawImage(player, player[i][x], player[i][y]);
}

使用此代码,如果 2 个玩家位置相同,则 1 个玩家将不可见。

有没有更好的方法来吸引所有玩家?

4

1 回答 1

1

仅仅因为玩家可能在同一个游戏中,并不意味着他们看到相同的视图:)(想想你玩过的任何在线 FPS 游戏)

但是,您的假设是有效的。我添加到您的示例代码中的代码只是将您的玩家添加为数组中的最后一个玩家,这意味着您将始终在游戏中显示为顶部(无论有 2 个或 10 个玩家)

context.clearRect(0, 0, width, height);

// Move your player to the top
for (i=0;i<players.lenght;i++){
    if (players.isYou()) {
        var you = players.splice(i, 1);
        players.push(you);
    }
}

for (i=0;i<players.lenght;i++){
    context.drawImage(player, player[i][x], player[i][y]);
}
于 2013-03-12T20:12:10.180 回答