0
ここで私はPhaserライブラリを使用しています。私は私が間違ってやっているのか理解カント:{this.create作成}Typescript - "this"キーワードエラー
を「この」ここにキーワードの活字体をコンパイル中
module GameName {
class GameName extends Phaser.Game{
constructor(width?:number, height?:number){
super(width, height, Phaser.AUTO, 'PhaserDemo', {create:this.create});
}
create() {
this.state.add("Preloader", Preloader, true);
}
}
window.onload =() => {
new GameName(1280, 720);
}
}
は、だから私は、エラーが発生しました。私はPhaser.Gameクラスのコンストラクタを自分のGameNameクラスのコンストラクタに呼び出し、Phaser.Gameクラスのcreate関数をスーパーコンストラクタのパラメータとして追加します。
エラー:派生クラスのコンストラクタで 'this'にアクセスする前に 'super'を呼び出す必要があります。
はいこの方法では、エラーはなくなります。それはコンパイルしますが、関数には全く入りません。 しかし、私はこのようにそれを行う場合 - > コンストラクタ(幅:??数、高さ:数){ スーパー(幅、高さ、Phaser.AUTO、 'PhaserDemo'、{作成します()=> { this.state.add( "Preloader"、Preloader、true); }}); } } うまく動作します。 –