更改场景Phaser 3时出现黑屏

时间:2019-01-13 16:04:05

标签: javascript syntax-error screen phaser-framework

当我到达要触发正在开发的游戏的第二关的区域时,我在更改场景时遇到问题。由于某些原因,游戏没有显示第二级,而是显示黑屏,并且控制台上没有错误。我认为我的问题的答案是(http://www.html5gamedevs.com/topic/37617-trouble-changing-scenes-in-phaser-3/,因为提出问题的那个人遇到了我的问题并设法解决了这个问题,但我不理解他的最新帖子。

在第一个场景中调用第二个场景的方式是该函数:

PassaggioLivello() {
  if(this.player.sprite.x > 15400){
      this.scene.start(MainScene2);
  }   
}

两个场景都包含在配置文件中:

import {MainScene} from "./main-scene.js";
import {MainScene2} from "./main-scene.js";

let config = {
   type: Phaser.AUTO,
   width: 1280,
   height: 720,
   backgroundColor: "#000c1f",
   parent: "game-container",
   scene: [MainScene, MainScene2],
   pixelArt: true,
   physics: { default: "matter" },
   plugins: {
      scene: [
      {
      plugin: PhaserMatterCollisionPlugin, // The plugin class
      key: "matterCollision", // Where to store in Scene.Systems, e.g. 
     scene.sys.matterCollision
    mapping: "matterCollision" // Where to store in the Scene, e.g. scene.matterCollision
  }
]
}
};

let game = new Phaser.Game(config);

能帮我吗?我不明白我的错误。

1 个答案:

答案 0 :(得分:1)

me.startup方法需要您要开始的场景的标识键,而不是场景对象本身。

要导入的每个场景都应在构造函数方法中声明一个键,如下所示:

this.scene.start()

然后,您应该可以通过调用constructor() { super({ key: 'game' }); }

来开始所需的场景。