Phaser API Documentation

  Version: 
bitmapMask([maskObject], [x], [y], [texture], [frame])

Description:

A Bitmap Mask combines the alpha (opacity) of a masked pixel with the alpha of another pixel. Unlike the Geometry Mask, which is a clipping path, a Bitmap Mask behaves like an alpha mask, not a clipping path. It is only available when using the WebGL Renderer.

A Bitmap Mask can use any Game Object, or Dynamic Texture, to determine the alpha of each pixel of the masked Game Object(s). For any given point of a masked Game Object's texture, the pixel's alpha will be multiplied by the alpha of the pixel at the same position in the Bitmap Mask's Game Object. The color of the pixel from the Bitmap Mask doesn't matter.

For example, if a pure blue pixel with an alpha of 0.95 is masked with a pure red pixel with an alpha of 0.5, the resulting pixel will be pure blue with an alpha of 0.475. Naturally, this means that a pixel in the mask with an alpha of 0 will hide the corresponding pixel in all masked Game Objects A pixel with an alpha of 1 in the masked Game Object will receive the same alpha as the corresponding pixel in the mask.

Note: You cannot combine Bitmap Masks and Blend Modes on the same Game Object. You can, however, combine Geometry Masks and Blend Modes together.

The Bitmap Mask's location matches the location of its Game Object, not the location of the masked objects. Moving or transforming the underlying Game Object will change the mask (and affect the visibility of any masked objects), whereas moving or transforming a masked object will not affect the mask.

The Bitmap Mask will not render its Game Object by itself. If the Game Object is not in a Scene's display list, it will only be used for the mask and its full texture will not be directly visible. Adding the underlying Game Object to a Scene will not cause any problems - it will render as a normal Game Object and will also serve as a mask.

Parameters:

name type arguments description
maskObject Phaser.GameObjects.GameObject | Phaser.Textures.DynamicTexture <optional>

The Game Object or Texture that will be used as the mask. If null it will generate an Image Game Object using the rest of the arguments.

x number <optional>

If creating a Game Object, the horizontal position in the world.

y number <optional>

If creating a Game Object, the vertical position in the world.

texture string | Phaser.Textures.Texture <optional>

If creating a Game Object, the key, or instance of the Texture it will use to render with, as stored in the Texture Manager.

frame string | number | Phaser.Textures.Frame <optional>

If creating a Game Object, an optional frame from the Texture this Game Object is rendering with.

Returns:
Description:

The Bitmap Mask that was created.

Since: 3.60.0