Phaser API Documentation

  Version: 
weightedRandomize(weightedIndexes, [tileX], [tileY], [width], [height], [layer])

Description:

Randomizes the indexes of a rectangular region of tiles (in tile coordinates) within the specified layer. Each tile will receive a new index. New indexes are drawn from the given weightedIndexes array. An example weighted array:

[ { index: 6, weight: 4 }, // Probability of index 6 is 4 / 8 { index: 7, weight: 2 }, // Probability of index 7 would be 2 / 8 { index: 8, weight: 1.5 }, // Probability of index 8 would be 1.5 / 8 { index: 26, weight: 0.5 } // Probability of index 27 would be 0.5 / 8 ]

The probability of any index being picked is (the indexs weight) / (sum of all weights). This method only modifies tile indexes and does not change collision information.

If no layer is specified, the maps current layer is used.

Parameters:

name type arguments description
weightedIndexes Array.<object>

An array of objects to randomly draw from during randomization. They should be in the form: { index: 0, weight: 4 } or { index: [0, 1], weight: 4 } if you wish to draw from multiple tile indexes.

tileX number <optional>

The left most tile index (in tile coordinates) to use as the origin of the area.

tileY number <optional>

The top most tile index (in tile coordinates) to use as the origin of the area.

width number <optional>

How many tiles wide from the tileX index the area will be.

height number <optional>

How many tiles tall from the tileY index the area will be.

layer string | number | Phaser.Tilemaps.TilemapLayer <optional>

The tile layer to use. If not given the current layer is used.

Returns:
Description:

Return this Tilemap object, or null if the layer given was invalid.

Since: 3.0.0
Source: src/tilemaps/Tilemap.js (Line 2488)