Phaser игра не загружается - PullRequest
0 голосов
/ 22 января 2019

Я настраиваю базовую игру Phaser, используя WampServer, мой каталог проекта находится в каталоге www WampServer, но он выдает ошибку, что 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 выдает эту ошибку

1 Ответ

0 голосов
/ 23 января 2019

Обновленный ответ: Перечитав код, я обнаружил, что возможной причиной не загрузки сцены может быть то, что сцены неактивны. Подробнее о том, как запустить многостадийную игру, читайте в этом руководстве, опубликованном Ричардом Дэйви: https://phaser.io/phaser3/devlog/121

В качестве краткого ответа, в каждом конструкторе сцены вы можете вызвать

super({key: 'YourSceneKey', active: true}

чтобы активировать сцену при создании игры. Вот пример codePen, который я создал для вашей справки https://codepen.io/arthurcen/pen/yZyaNX

...