Ich bin relativ neu bei Javascript und ich bin verwirrt bei der Vererbung. Hier in diesem Code-Snippet, das ich von einem Phaser-Tutorial bekommen habe, erbt Bullet von Sprite. Zuerst benutzt es die Call-Methode, die aus meiner Kenntnis die Eigenschaften von einer Methode übernimmt und sie in eine andere einfügt. So erhält Bullet an dieser Stelle alle Eigenschaften von Sprite. Call sollte ein Objekt und dann Parameter des Objekts, das aufgerufen wird, also verstehe ich, warum es Spiel und Schlüssel passiert, aber woher kommt die 0,0?Javascript Vererbung .call .create und Konstruktor
Okay, aber nach all dem macht es Bullet.prototype = Object.create, um das Sprite-Objekt in den Bullet-Prototyp zu erstellen? Aber hat es das nicht schon mit der Call-Methode gemacht?
und dann geht es prototype.constructor = bullet aber warum müssten Sie das tun, wenn bullet bereits bullet hält?
Wenn mir jemand dies erklären könnte, wäre ich sehr dankbar. Vielen Dank!
var Bullet = function (game, key) {
Phaser.Sprite.call(this, game, 0, 0, key);
this.texture.baseTexture.scaleMode = PIXI.scaleModes.NEAREST;
this.anchor.set(0.5);
this.checkWorldBounds = true;
this.outOfBoundsKill = true;
this.exists = false;
this.tracking = false;
this.scaleSpeed = 0;
};
Bullet.prototype = Object.create(Phaser.Sprite.prototype);
Bullet.prototype.constructor = Bullet;