GeometryMask

.Display.Masks. GeometryMask

几何遮罩可以应用于游戏对象,以隐藏任何不相交的像素 几何遮罩中的可见像素.遮罩本质上是一个剪辑路径,它只能 使遮罩的像素完全可见或完全不可见,而不改变其alpha(不透明度). 几何蒙版使用图形游戏对象来确定蒙版游戏对象的哪些像素 应该剪一剪.对于被遮罩的游戏对象纹理的任何给定点,像素将只显示 如果几何遮罩的图形游戏对象在同一位置有一个可见像素.颜色和 几何蒙版中像素的阿尔法值无关紧要. 几何遮罩的位置与其图形对象的位置相匹配,而不是被遮罩对象的位置. 移动或变换基础图形对象将改变遮罩(并影响可见性 任何被遮罩的对象),而移动或变换被遮罩的对象不会影响遮罩. 您可以将几何遮罩(或者更确切地说,其图形对象)视为放置的不可见幕帘 在所有有自己视觉特性的被遮蔽的物体面前,自然地,尊重相机的 视觉属性,但不受遮罩对象的影响,也不跟随遮罩对象本身.

Constructor

new GeometryMask(scene, graphicsGeometry)

Since:
  • 3.0.0
Parameters:
Name Type Description
scene Phaser.Scene 未使用此参数.
graphicsGeometry Phaser.GameObjects.Graphics 用于几何遮罩的图形游戏对象.不一定要在显示列表中.

Members

geometryMask :Phaser.GameObjects.Graphics

Since:
  • 3.0.0
描述几何遮罩的图形对象.
Type:

invertAlpha :boolean

Since:
  • 3.16.0
类似于位图蒙版反转阿尔法设置为真将隐藏所有像素 绘制到几何遮罩. 这是WebGL独有的功能.
Type:
  • boolean

(readonly) isStencil :boolean

Since:
  • 3.17.0
这个面具是蜡纸面具吗?
Type:
  • boolean

Methods

applyStencil(renderer, camera, inc)

Since:
  • 3.17.0
将当前模具蒙版应用于渲染器.
Parameters:
Name Type Description
renderer Phaser.Renderer.WebGL.WebGLRenderer 要绘制到的WebGL渲染器实例.
camera Phaser.Cameras.Scene2D.Camera 游戏对象通过的摄像机.
inc boolean 这是INCR蜡纸还是DECR蜡纸?

destroy()

Since:
  • 3.7.0
销毁此几何掩码并清空它包含的所有引用. 请注意,如果一个游戏对象当前正在使用这个遮罩,它将不会自动检测到你已经破坏了它, 因此,在销毁游戏对象之前,一定要在任何使用它的游戏对象上调用 `clearMask` .

postRenderCanvas(renderer)

Since:
  • 3.0.0
恢复画布上下文的前一个剪辑路径,从而关闭它的遮罩.
Parameters:
Name Type Description
renderer Phaser.Renderer.Canvas.CanvasRenderer 正在恢复的画布渲染器实例.

postRenderWebGL(renderer)

Since:
  • 3.0.0
刷新所有渲染的像素并禁用WebGL上下文的模板测试,从而禁用其掩码.
Parameters:
Name Type Description
renderer Phaser.Renderer.WebGL.WebGLRenderer 要绘制齐平的WebGL渲染器实例.

preRenderCanvas(renderer, mask, camera)

Since:
  • 3.0.0
将2D画布上下文的剪裁路径设置为几何遮罩的基础图形对象.
Parameters:
Name Type Description
renderer Phaser.Renderer.Canvas.CanvasRenderer 要设置剪辑路径的画布渲染器实例.
mask Phaser.GameObjects.GameObject 正在渲染的游戏对象.
camera Phaser.Cameras.Scene2D.Camera 游戏对象通过的摄像机.

preRenderWebGL(renderer, child, camera)

Since:
  • 3.0.0
将几何蒙版的底层图形对象渲染到OpenGL模具缓冲区,并启用模具测试,该测试根据蒙版裁剪渲染的像素.
Parameters:
Name Type Description
renderer Phaser.Renderer.WebGL.WebGLRenderer 要绘制到的WebGL渲染器实例.
child Phaser.GameObjects.GameObject 正在渲染的游戏对象.
camera Phaser.Cameras.Scene2D.Camera 游戏对象通过的摄像机.

setInvertAlpha(valueopt) → {this}

Since:
  • 3.17.0
设置此几何蒙版的`invertAlpha`属性. 反转阿尔法本质上是反转蒙版的工作方式. 这是WebGL独有的功能.
Parameters:
Name Type Attributes Default Description
value boolean <optional>
true 反转这个面具的阿尔法?
Returns:
这个几何遮罩
Type
this

setShape(graphicsGeometry) → {this}

Since:
  • 3.0.0
为几何遮罩设置新的图形对象.
Parameters:
Name Type Description
graphicsGeometry Phaser.GameObjects.Graphics 将用于几何遮罩的图形对象.
Returns:
这个几何遮罩
Type
this