Я делаю простой пример здесь, где я использую библиотеку Phaser.Typcript - ошибка «этого» ключевого слова
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);
}
}
Так я получил сообщение об ошибке при компиляции машинописи на «это» ключевое слово здесь {создания: this.create}
Я не могу понять, что я делаю неправильно. Я просто вызвал конструктор класса Phaser.Game в конструкторе моего класса GameName, и я добавляю функцию create класса Phaser.Game в качестве параметра супер-конструктора.
Ошибка: «Супер» должно быть вызвано перед доступом к «этому» в конструкторе производного класса. (?)
Да, таким образом, ошибка исчезла и он компилируется, но он вообще не входит в функцию. Но если я сделать это таким образом -> конструктор (ширина: количество, высота: номер?) { супер (ширина, высота, Phaser.AUTO, 'PhaserDemo', {создать:() => { this.state.add («Preloader», Preloader, true); }}); } } Все работает отлично. –