setTimeout-Bereichsproblem
Ich habe ein setTimeout innerhalb einer Funktion definiert, die den Respawn des Spielers steuert (ich erstelle ein Spiel):
var player = {
...
death:(function() {
this.alive = false;
Console.log("death!");
var timer3 = setTimeout((function() {
this.alive = true;
Console.log("alive!");
}),3000);
}),
...
}
Wenn es ausgeführt wird, lese ich in der Konsole "Tod!" und 3 Sekunden später "lebendig!". Jedoch,alive
wird nie wirklich auf true zurückgesetzt, denn wenn ich schreibeplayer.alive
In der Konsole wird es zurückgegebenfalse
. Wie kommt es, dass ich "lebendig" sehe? aber die Variable wird nie wieder auf true gesetzt?