我正在设置一个基本的相位器游戏,使用WampServer,我在WampServer的www目录中有我的项目目录,但它给我的错误是SceneMainMenu is not defined为什么以及如何修复这个问题?以下是我的文件:
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Space Shooter</title>
</head>
<body>
<script src="phaser.js"></script>
<script src="/scenes/SceneMain.js"></script>
<script src="/scenes/SceneMainMenu.js"></script>
<script src="/scenes/SceneGameOver.js"></script>
<script src="game.js"></script>
</body>
</html>the game.js
var config = {
type: Phaser.WEBGL,
width: 400,
height:640,
backgroundColor: 'black',
physics: {
default: 'arcade',
arcade: {
gravity: {y: 0}
}
},
scene: [
SceneMainMenu,
SceneMain,
SceneGameOver
],
pixelArt: true,
roundPixels: true
};
var game = new Phaser.Game(config);SceneGameOVer文件:
class SceneGameOver extends Phaser.Scene {
constructor() {
super({key:'SceneGameOver'})
}
}SceneMain文件:
class SceneMain extends Phaser.Scene {
constructor() {
super({key:'sceneMain'});
}
}SceneMainMenu文件:
class SceneMainMenu extends Phaser.Scene {
constructor() {
super({key: 'SceneMainMenu'});
}
create() {
this.scene.start('SceneMain');
}
}如果我从VS代码的服务器上运行游戏,它会运行,但当我试图从WampServer启动它时,它会给我这个错误
发布于 2019-01-23 05:50:50
更新答案:重新阅读您的代码后,我发现场景未加载的可能原因可能是场景未处于活动状态。有关如何启动多场景游戏的详细信息,请参阅Richard Davey发布的这篇教程:https://phaser.io/phaser3/devlog/121
简而言之,在每个场景构造函数中,您可以调用
super({key: 'YourSceneKey', active: true}在创建游戏时激活场景。下面是我为您的参考https://codepen.io/arthurcen/pen/yZyaNX创建的示例codePen
https://stackoverflow.com/questions/54305506
复制相似问题