Shake

Phaser.Cameras.Scene2D.Effects.Shake

A Camera Shake effect.

This effect will shake the camera viewport by a random amount, bounded by the specified intensity, each frame.

Only the camera viewport is moved. None of the objects it is displaying are impacted, i.e. their positions do not change.

The effect will dispatch several events on the Camera itself and you can also specify an onUpdate callback, which is invoked each frame for the duration of the effect if required.

Constructor

new Shake(camera)

Parameters

name

type

optional

description

camera

Phaser.Cameras.Scene2D.Camera

No

The camera this effect is acting upon.


Scope: static

Source: src/cameras/2d/effects/Shake.js#L12
Since: 3.5.0

Public Members

camera

camera: Phaser.Cameras.Scene2D.Camera

Description:

The Camera this effect belongs to.

Source: src/cameras/2d/effects/Shake.js#L37
Since: 3.5.0


duration

duration: number

Description:

The duration of the effect, in milliseconds.

Source: src/cameras/2d/effects/Shake.js#L58
Since: 3.5.0


intensity

intensity: Phaser.Math.Vector2

Description:

The intensity of the effect. Use small float values. The default when the effect starts is 0.05. This is a Vector2 object, allowing you to control the shake intensity independently across x and y. You can modify this value while the effect is active to create more varied shake effects.

Source: src/cameras/2d/effects/Shake.js#L69
Since: 3.5.0


isRunning

isRunning: boolean

Description:

Is this effect actively running?

Source: src/cameras/2d/effects/Shake.js#L47
Since: 3.5.0


progress

progress: number

Description:

If this effect is running this holds the current percentage of the progress, a value between 0 and 1.

Source: src/cameras/2d/effects/Shake.js#L80
Since: 3.5.0


Private Members

_elapsed

_elapsed: number

Description:

Effect elapsed timer.

Access: private

Source: src/cameras/2d/effects/Shake.js#L89
Since: 3.5.0


_offsetX

_offsetX: number

Description:

How much to offset the camera by horizontally.

Access: private

Source: src/cameras/2d/effects/Shake.js#L99
Since: 3.0.0


_offsetY

_offsetY: number

Description:

How much to offset the camera by vertically.

Access: private

Source: src/cameras/2d/effects/Shake.js#L110
Since: 3.0.0


_onUpdate

_onUpdate: Phaser.Types.Cameras.Scene2D.CameraShakeCallback

Description:

This callback is invoked every frame for the duration of the effect.

Access: private

Source: src/cameras/2d/effects/Shake.js#L121
Since: 3.5.0


_onUpdateScope

_onUpdateScope: any

Description:

On Complete callback scope.

Access: private

Source: src/cameras/2d/effects/Shake.js#L132
Since: 3.5.0


Public Methods

destroy

<instance> destroy()

Description:

Destroys this effect, releasing it from the Camera.

Source: src/cameras/2d/effects/Shake.js#L297
Since: 3.5.0


effectComplete

<instance> effectComplete()

Description:

Called internally when the effect completes.

Fires: Phaser.Cameras.Scene2D.Events#event:SHAKE_COMPLETE

Source: src/cameras/2d/effects/Shake.js#L259
Since: 3.5.0


preRender

<instance> preRender()

Description:

The pre-render step for this effect. Called automatically by the Camera.

Source: src/cameras/2d/effects/Shake.js#L198
Since: 3.5.0


reset

<instance> reset()

Description:

Resets this camera effect. If it was previously running, it stops instantly without calling its onComplete callback or emitting an event.

Source: src/cameras/2d/effects/Shake.js#L279
Since: 3.5.0


start

<instance> start([duration], [intensity], [force], [callback], [context])

Description:

Shakes the Camera by the given intensity over the duration specified.

Parameters:

name

type

optional

default

description

duration

number

Yes

100

The duration of the effect in milliseconds.

intensity

number | Phaser.Math.Vector2

Yes

0.05

The intensity of the shake.

force

boolean

Yes

false

Force the shake effect to start immediately, even if already running.

callback

Phaser.Types.Cameras.Scene2D.CameraShakeCallback

Yes

This callback will be invoked every frame for the duration of the effect. It is sent two arguments: A reference to the camera and a progress amount between 0 and 1 indicating how complete the effect is.

context

any

Yes

The context in which the callback is invoked. Defaults to the Scene to which the Camera belongs.

Returns: Phaser.Cameras.Scene2D.Camera - The Camera on which the effect was started.

Fires: Phaser.Cameras.Scene2D.Events#event:SHAKE_START, Phaser.Cameras.Scene2D.Events#event:SHAKE_COMPLETE

Source: src/cameras/2d/effects/Shake.js#L143
Since: 3.5.0


update

<instance> update(time, delta)

Description:

The main update loop for this effect. Called automatically by the Camera.

Parameters:

name

type

optional

description

time

number

No

The current timestamp as generated by the Request Animation Frame or SetTimeout.

delta

number

No

The delta time, in ms, elapsed since the last frame.

Source: src/cameras/2d/effects/Shake.js#L212
Since: 3.5.0


Updated on