Ich erstelle ein Spiel, in dem ich ein Array von Objekten habe, eines der Arrays enthält alle Raketenobjekte. Bei diesem Array müssen die Raketen häufig entfernt werden, wenn sie auf Wände (oder Spieler) treffen, aber ich finde keinen Weg, das Objekt aus dem Array zu entfernen, ohne unordentlichen Code zu bekommen. Vorzugsweise würde ich einen Weg wünschen, der das Objekt innerhalb einer der Objektfunktionen entfernt, z. B. missiles.splice(this,1)
. Ich habe zufällig Raketen auf dem BildschirmJavascript Entfernen eines Objekts aus einer Funktion
Ein Beispiel für das Stück Code ist als
Missiles.prototype.Draw = function() {
if (this.x >= -200) {
ctx.beginPath();
ctx.fillStyle = "Black";
ctx.rect(this.x,this.y,this.width,this.height);
ctx.stroke();
ctx.fill();
} else {
missileCount.splice(this,1);
console.log('removed a missile')
}
};
Aber, wenn ich diese verwenden folgt
verschwindet Ich habe einen Pastebin mit meinem Code in ihm (Verwendung der folgende Link kann helfen) http://pastebin.com/f5S8zhJg
Die Spielkarte ist unendlich groß, was ziemlich interessant ist.
Sie die 'splice' Methode Haben überprüfen? – FDavidov
Das ist, was ich in meinem Code verwende, die spezifische Zeile ist rateceCount.splice (this, 1); ist das richtig? –
Ja, ich denke schon. Überprüfen Sie die Dokumentation, um 100% sicher zu sein. – FDavidov