Ich habe den folgenden Code in meinem Update-Funktion, die 30-mal pro Sekunde aufgerufen wird:Javascript Array.splice() tut nichts
// Checking collision between rune and the players:
for(var j = 0; j < this.players.length; j++) {
if(this.checkCollision(this.players[j], this.runes[i])) {
this.runes[i].activate(this.players[j]);
this.runes[i].isHidden = true;
this.runes[i].onDeactivate = function() {
console.log(i);
self.runes.splice(i, 1);
}
}
}
vor, dass ich:
for(var i = 0; i < this.runes.length; i++) ...
die Selbst .runes.splice (i, 1) tut nichts zu einem Array ... ich werde auf einen Wert gesetzt. Ich möchte nur die nicht aktive Rune aus einem Array von Runen entfernen. Irgendwelche Ideen?
übrigens onDeactivate wird aufgerufen, ich habe das getestet ... –
Aus reiner Neugier (ich weiß genau, was los ist), aber was zeigt dir console.log (i)? –
es hängt davon ab, welche Rune ich mit Spieler nehme ... zum Beispiel zeigt es jetzt 507 ... Ich frage mich, ob Selbst kein Problem ist –