【发布时间】:2018-08-15 15:07:51
【问题描述】:
在 webpack/babel 环境中,我运行了一个类似这个的例子(可以在Phaser 3 Sandbox 找到);我刚刚添加了console.log(this) 并删除了图像load() 和add():
class MyScene extends Phaser.Scene {
constructor (config)
{
super(config);
}
preload ()
{
console.log(this);
}
create ()
{
}
}
var config = {
type: Phaser.WEBGL,
width: 800,
height: 600,
backgroundColor: '#000000',
parent: 'phaser-example',
scene: MyScene
};
var game = new Phaser.Game(config);
它工作正常,但我自己的本地示例和在线 Phaser 3 沙盒之间有一个区别:
- 在我的本地示例中,
game属性不适用于MyScene实例; - 在在线沙箱中,我可以看到该属性存在(通过添加相同的
console.log(this))。
我注意到我可以使用Phaser.Scene.sys.game 获取Game 实例,但我想知道为什么在线沙箱和我自己的示例之间没有相同的结果对象。
您可以在Phaser 3 API Documentation 中阅读有关Phaser.Scene.game 的信息:
游戏:Phaser.Game
对 Phaser.Game 实例的引用。
该属性只有在场景注入映射中定义时才可用。
所以我尝试在 MyScene 构造函数中修改场景注入映射,但我现在还不太明白,我所有的尝试都不幸失败了。
为了使game 属性可用,我应该进行哪些更改?
【问题讨论】:
标签: javascript phaser-framework