Skip to main content
Version: Phaser v4.0.0

RandomZone

A Random Zone is an Emit Zone that places particles at random positions within the area of a shape. The shape must provide a getRandomPoint method, which receives a Vector2 and populates it with a random coordinate from anywhere inside the shape.

Phaser geometry objects such as Phaser.Geom.Rectangle, Phaser.Geom.Circle, Phaser.Geom.Ellipse, and Phaser.Geom.Triangle all implement this method and can be used directly as the source for this zone.

Use this zone when you want particles to spawn at random positions distributed across the interior of a shape. To spawn particles along the edges of a shape instead, use an EdgeZone.

Constructor

new RandomZone(source)

Parameters

nametypeoptionaldescription
sourcePhaser.Types.GameObjects.Particles.RandomZoneSourceNoAn object instance with a getRandomPoint(point) method.

Scope: static

Source: src/gameobjects/particles/zones/RandomZone.js#L10
Since: 3.0.0

Public Members

source

source: Phaser.Types.GameObjects.Particles.RandomZoneSource

Description:

An object instance with a getRandomPoint(point) method.

Source: src/gameobjects/particles/zones/RandomZone.js#L36
Since: 3.0.0


total

total: number

Description:

The total number of particles this zone will emit before the Emitter transfers control over to the next zone in its emission zone list.

By default this is -1, meaning it will never pass over from this zone to another one. You can call the ParticleEmitter.setEmitZone method to change it, or set this value to something else via the config, or directly at runtime.

A value of 1 would mean the zones rotate in order, but it can be set to any integer value.

Source: src/gameobjects/particles/zones/RandomZone.js#L55
Since: 3.60.0


Public Methods

getPoint

<instance> getPoint(particle)

Description:

Get the next point in the Zone and set its coordinates on the given Particle.

Parameters:

nametypeoptionaldescription
particlePhaser.GameObjects.Particles.ParticleNoThe Particle.

Source: src/gameobjects/particles/zones/RandomZone.js#L74
Since: 3.0.0