Ich mache ein Jump'n'Run-Spiel und wenn der Spieler alle Münzen einsammelt, gehen sie zum nächsten Level, wie würde ich einen Timer auf dem Bildschirm hinzufügen, dass, wenn es 0 wird, der Level neu startet? Dies ist der Abschnitt meines Codes, der jetzt behandelt, wenn der Spieler das Level neu startet, wenn er Lava berührt.Wie füge ich einen Timer zu meinem Spiel hinzu?
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);
}
Schauen Sie sich die Dokumentation für [ 'setTimeout'] (https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout). Sie werden es wahrscheinlich in 'startLevel()' früh aufrufen. Vergiss nicht 'clearTimeout()' wenn du fertig bist. – rphv