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 に答える