Phaser 3,Uncaught TypeError:this.cameras.main.setMask is not a function when trying to apply mask to camera

问题描述 投票:0回答:1

我正在尝试对我的游戏应用“战争迷雾”效果,并要求在我的相机上使用遮罩。我已经研究并遵循了这里的教程 - 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);
mask phaser-framework
1个回答
0
投票

我遇到了同样的问题——所有的例子都使用了

this.cameras.main.setMask
,但在我的项目中的相机对象上是未定义的。

就我而言,我按照“Phaser 3 入门”文档设置了一个基本场景并继续使用它,但是该教程使用的是 3.15.1 版,该版本现在已经过时并且没有在相机对象上有

setMask
方法。更新到 3.55.2(我写这篇文章时的最新版本)解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.