Phaser API Documentation

<static> WeightedRandomize(tileX, tileY, width, height, weightedIndexes, layer)


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 choose is (the index's weight) / (sum of all weights). This method only modifies tile indexes and does not change collision information.


name type description
tileX number

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

tileY number

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

width number

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

height number

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

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.

layer Phaser.Tilemaps.LayerData

The Tilemap Layer to act upon.

Since: 3.0.0