Version:

<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 |

height | number |
How many tiles tall from the |

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