实例化 Phaser.Game 时指定 preload/create 函数

Specify preload/create functions when instantiating Phaser.Game

根据phaser.io/tutorials,您可以为游戏实例设置一个初始preload/create函数:

this.game = new Phaser.Game(800, 600, Phaser.AUTO, 'content', { preload: this.preload, create: this.create });

但是,我试图将这些构造函数参数作为对象传递:

SceneContainers.phaserGame = new Phaser.Game({
    width: ProjectSettings.resolution[0],
    height: ProjectSettings.resolution[1],
    type: Phaser.AUTO,
    parent: 'content',
    backgroundColor: ProjectSettings.backgroundColor,
    // 'preload: ...' and 'create: ...' do not exist here
    // Also, 'callbacks: ...' does not support 'preload: ...' and 'create: ...'
    // according to TypeScript completions.
});

属性属于preload/create?当我查看 API 文档时,我搜索 preload 但没有显示任何内容:Phaser.Game and Phaser.Types.Core.GameConfig.

简短的回答是 属性 scene.

var config = {
    ...
    width: 800,
    height: 600,
    scene: { preload: this.preload, create: this.create },
    ...
};

尽管如此,属性也可以设置为其他数据类型。

次要更新: 在本教程部分,有几个很好的示例,说明如何使用 属性 https://phaser.io/examples/v3/category/scenes ,我还是参考了这些例子,当我不得不写phaser apps/code.