mirror of
https://github.com/photonstorm/phaser
synced 2024-12-24 03:53:28 +00:00
1.8 KiB
1.8 KiB
Phaser 3.80.0 Change Log
Return to the Change Log index.
New Body.wrap method
The old MatterWrap
plugin has been deprecated in favour of native integration into the new Matter.Body.wrap
method.
This method ensures that a body's position is always maintained within specified bounds. If the body crosses a boundary, it will appear on the opposite side of the bounds, preserving its velocity. This enhancement eliminates the need for enabling the wrap
method through the Matter physics MatterConfig
option by adding wrap: true
to the plugins property.
To utilize the new wrap
functionality, you can now directly pass a wrapBounds
object specifying the x
and y
boundaries when creating a new Matter object. This approach simplifies the process of applying boundary wrapping to Matter bodies.
Steps to add wrap bounds to a Matter game object
- Define Wrap Bounds: First, define the boundaries within which you want the game object to wrap. Create a
wrapBounds
object that specifiesmin
andmax
coordinates forx
andy
.
const wrapBounds = {
min: {
x: 0,
y: 0
},
max: {
x: 800,
y: 600
}
};
- Create a Matter Game Object: Create a Matter game object that you want to apply the wrapping behavior to. Use the Matter physics system to add a game object, like an image, polygon, circle, rectangle, etc., to the world. For example:
const gameObject = this.matter.add.image(x, y, 'key', null, {
wrapBounds: wrapBoundary
});
- This will enable the game object to wrap around a specified boundary.
To remove the wrap bounds on a game object
- Set the
wrapBounds
property on the game object body tonull
. Example:
gameObject.body.wrapBounds = null;