Javascript 改变路线在第三阶段打破游戏?
当我刷新/游戏路线时,它通常会创建游戏。但如果我切换到另一条路线,然后再次回到同一条/游戏路线。画布显示空白屏幕,数组中的最后一个场景运行,而不是第一个场景Javascript 改变路线在第三阶段打破游戏?,javascript,reactjs,react-router-dom,phaser-framework,Javascript,Reactjs,React Router Dom,Phaser Framework,当我刷新/游戏路线时,它通常会创建游戏。但如果我切换到另一条路线,然后再次回到同一条/游戏路线。画布显示空白屏幕,数组中的最后一个场景运行,而不是第一个场景 static createGame() { console.log('game creation phaser called with config'); game = new Phaser.Game(CONFIG); return game; } static destroyGame(game) {
static createGame() {
console.log('game creation phaser called with config');
game = new Phaser.Game(CONFIG);
return game;
}
static destroyGame(game) {
console.log("destroying game")
game.destroy();
game = null;
}
}
我试图在组件卸载时破坏游戏,但什么也没发生
这是我的相位器配置
const CONFIG = {
type: Phaser.WEBGL,
width: 720 * window.devicePixelRatio,
height: 500 * window.devicePixelRatio,
scene: [ModeSelectScene, PreLoadScene, PlayGame, GameOverScene],
backgroundColor: 0x0c88c7,
parent: 'game',
scale: {
mode: Phaser.Scale.FIT,
autoCenter: Phaser.Scale.CENTER_BOTH,
parent: 'game',
width: 1334,
height: 750,
},
physics: {
default: 'arcade',
},
};
它首先运行游戏场景,idk为什么!我已经试过了,但我总是在加载最后一个场景时看到相同的空白屏幕(我在控制台中进行了检查)
有什么建议吗?我不认为销毁游戏是一种好方法,你真的需要这样做吗?@nazimboudeffa感谢你的回复,但我确实在componentWillUnmount()时销毁了游戏,然后在路径发生变化时重新安装游戏,幸运的是成功了:)这是我的组件安装问题,这就是我出错的原因。现在它很有趣,很高兴看到它运行我不认为销毁游戏是一个好方法,你真的需要这样做吗?@nazimboudeffa感谢你的回复,但我确实在componentWillUnmount()时销毁了游戏,然后在路径改变时重新安装游戏,幸运的是成功了:)这是我的组件安装问题,这就是我出错的原因。现在它很有趣,很高兴看到它工作