私はplatformerゲームを作っています。プレイヤーがコインをすべて集めて次のレベルに行くと、レベルが0になったときにレベルを再起動するタイマーを画面に追加するにはどうしたらいいですか?これは私のコードのセクションで、もし彼らが溶岩に触れると、プレーヤーがレベルを再始動するかどうかを処理します。ゲームにタイマーを追加するにはどうすればよいですか?
Level.prototype.playerTouched = function(type, actor) {
if (type == "lava" && this.status == null) {
this.status = "lost";
this.finishDelay = 1;
} else if (type == "coin") {
this.actors = this.actors.filter(function(other) {
return other != actor;
});
if (!this.actors.some(function(actor) {
return actor.type == "coin";
})) {
this.status = "won";
this.finishDelay = 1;
}
}
};
function runGame(plans, Display) {
function startLevel(n) {
runLevel(new Level(plans[n]), Display, function(status) {
if (status == "lost")
startLevel(n);
else if (n < plans.length - 1)
startLevel(n + 1);
else
console.log("You win!");
});
}
startLevel(0);
}
[ 'setTimeout'](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout)のドキュメントをチェックしてください。おそらく 'startLevel()'の早い段階で呼びたいと思うでしょう。完了したら 'clearTimeout()'を忘れないでください。 – rphv