Phaser API Documentation

  Version: 
setCrop([x], [y], [width], [height])

Description:

Applies a crop to a texture based Game Object, such as a Sprite or Image.

The crop is a rectangle that limits the area of the texture frame that is visible during rendering.

Cropping a Game Object does not change its size, dimensions, physics body or hit area, it just changes what is shown when rendered.

The crop size as well as coordinates can not exceed the the size of the texture frame.

The crop coordinates are relative to the texture frame, not the Game Object, meaning 0 x 0 is the top-left.

Therefore, if you had a Game Object that had an 800x600 sized texture, and you wanted to show only the left half of it, you could call setCrop(0, 0, 400, 600).

It is also scaled to match the Game Object scale automatically. Therefore a crop rectangle of 100x50 would crop an area of 200x100 when applied to a Game Object that had a scale factor of 2.

You can either pass in numeric values directly, or you can provide a single Rectangle object as the first argument.

Call this method with no arguments at all to reset the crop, or toggle the property isCropped to false.

You should do this if the crop rectangle becomes the same size as the frame itself, as it will allow the renderer to skip several internal calculations.

Parameters:

name type arguments description
x number | Phaser.Geom.Rectangle <optional>

The x coordinate to start the crop from. Cannot be negative or exceed the Frame width. Or a Phaser.Geom.Rectangle object, in which case the rest of the arguments are ignored.

y number <optional>

The y coordinate to start the crop from. Cannot be negative or exceed the Frame height.

width number <optional>

The width of the crop rectangle in pixels. Cannot exceed the Frame width.

height number <optional>

The height of the crop rectangle in pixels. Cannot exceed the Frame height.

Returns:
Description:

This Game Object instance.

Since: 3.11.0