Я создаю свою первую игру Phaser в качестве приложения приемника хромового разрешения, у меня проблемы с моим кодом.Phaser.State не инициализируется
код у меня есть ниже работы:
class TNSeconds {
game: Phaser.Game;
constructor() {
this.game = new Phaser.Game(window.innerWidth * window.devicePixelRatio -20, window.innerHeight * window.devicePixelRatio -20, Phaser.CANVAS, 'content', { preload: this.preload, create: this.create });
}
preload() {
this.game.load.image('BG', 'bg.png');
this.game.load.atlas("Atlas", "atlas.png", "atlas.json");
}
create() {
var background= this.game.add.sprite(this.game.world.centerX, this.game.world.centerY, 'BG');
logo.anchor.setTo(0.5, 0.5);
this.game.add.sprite(320, 100, "Atlas", "dron1", this.game.world);
}
}
window.onload =() => {
var game = new TNSeconds();
};
Однако я следую учебник и пример имеет код выложенный, как так:
class Game extends Phaser.Game {
constructor() {
// init game
super(window.innerWidth * window.devicePixelRatio - 20, window.innerHeight * window.devicePixelRatio - 20, Phaser.CANVAS, 'content', State);
}
}
class State extends Phaser.State {
preload() {
this.game.load.image('BG', 'bg.png');
this.game.load.atlas("Atlas", "atlas.png", "atlas.json");
}
create() {
this.add.image(0, 0, "BG");
this.add.sprite(320, 100, "Atlas", "dron1", this.world);
}
}
window.onload =() => {
var game = new Game();
};
код учебники кажется чище и просто для того, чтобы следовать руководству, я хотел бы реализовать свой код аналогичным образом, проблема заключается в том, что класс State
не инициализируется, может кто-то пролить свет на это для меня.
Я знаю, что код учебника использует this.add.image
, где я использую this.game.add.sprite
, это не проблема.
Я попытался следовать этому примеру и не смог заставить его работать, даже используя код, который был обновлен менее чем за полгода назад для проекта. Я разместил здесь следующие вопросы: https://stackoverflow.com/questions/32802777/ typescript-extends-keyword-not-working – Johntk
Я решил проблему на другом сообщении, которое я связал, спасибо за ваш вклад. – Johntk