私はJavascriptでは比較的新しいので、継承の過程で混乱します。 このコードスニペットでは、私はフェイザーのチュートリアルから得たBulletはスプライトを継承しています。最初は私の知るところではあるメソッドからプロパティを取り出し、それを別のメソッドに挿入するcallメソッドを使用します。したがって、この時点でBulletにはSpriteのすべてのプロパティが与えられます。コールはオブジェクトを取得し、オブジェクトのパラメータを呼び出す必要があるので、なぜゲームとキーを渡しているのか理解していますが、0,0はどこから来ますか?Javascript継承.call .create and constructor
大丈夫ですが、その後、Bullet.prototype = Object.createを実行して、弾丸プロトタイプにスプライトオブジェクトを作成しますか?しかし、コールメソッドですでにそれをしていませんか?
そしてそれはprototype.constructor = bulletになりますが、なぜ弾丸が既に弾丸を持っているときにそれを行う必要がありますか?
誰かが私にこれを説明できるなら、私は非常に感謝します。ありがとうございました!
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;