我正在尝试对我的游戏应用“战争迷雾”效果,并要求在我的相机上使用遮罩。我已经研究并遵循了这里的教程 - Phaser 演示沙箱 - 在尝试自己完成之后,我复制了它。这仍然会返回相同的错误并声称无法应用。如果我用玩家代替
this.cameras.main
,游戏可以运行但没有给出预期的结果。
const maskImage = this.make.image({
x: 400,
y: 300,
key: 'mask',
add: false
});
const mask = maskImage.createBitmapMask();
this.cameras.main.setMask(mask);
我遇到了同样的问题——所有的例子都使用了
this.cameras.main.setMask
,但在我的项目中的相机对象上是未定义的。
就我而言,我按照“Phaser 3 入门”文档设置了一个基本场景并继续使用它,但是该教程使用的是 3.15.1 版,该版本现在已经过时并且没有在相机对象上有
setMask
方法。更新到 3.55.2(我写这篇文章时的最新版本)解决了这个问题。