class TileContainer
package openfl.display
extends Tile
implements ITileContainer
Available on all platforms
The TileContainer type is a special kind of Tile that can hold other tiles within it.
Tile and TileContainer objects can be rendered by adding them to a Tilemap instance.
Constructor
new(x:Float = 0, y:Float = 0, scaleX:Float = 1, scaleY:Float = 1, rotation:Float = 0, originX:Float = 0, originY:Float = 0)
Variables
Methods
addTile(tile:Tile):Tile
Adds a Tile instance to this TileContainer instance. The tile is
added to the front (top) of all other tiles in this TileContainer
instance. (To add a tile to a specific index position, use the addTileAt()
method.)
Parameters:
tile | The Tile instance to add to this TileContainer instance. |
---|
Returns:
The Tile instance that you pass in the tile
parameter.
addTileAt(tile:Tile, index:Int):Tile
Adds a Tile instance to this TileContainer instance. The tile is added at the index position specified. An index of 0 represents the back (bottom) of the rendered list for this TileContainer object.
For example, the following example shows three tiles, labeled a, b, and c, at index positions 0, 2, and 1, respectively:
Parameters:
tile | The Tile instance to add to this TileContainer instance. |
---|---|
index | The index position to which the tile is added. If you specify a currently occupied index position, the tile object that exists at that position and all higher positions are moved up one position in the tile list. |
Returns:
The Tile instance that you pass in the tile
parameter.
addTiles(tiles:Array<Tile>):Array<Tile>
Adds an Array of Tile instances to this TileContainer instance. The tiles are added to the front (top) of all other tiles in this TileContainer instance.
Parameters:
tiles | The Tile instances to add to this TileContainer instance. |
---|
Returns:
The Tile Array that you pass in the tiles
parameter.
contains(tile:Tile):Bool
Determines whether the specified tile is contained within the
TileContainer instance. The search includes the entire tile list including
this TileContainer instance. Grandchildren, great-grandchildren, and so on
each return true
.
Parameters:
tile | The tile object to test. |
---|
Returns:
true
if the tile
object is contained within the TileContainer;
otherwise false
.
getBounds(targetCoordinateSpace:Tile):Rectangle
Override from tile. A single tile, just has his rectangle. A container must get a rectangle that contains all other rectangles.
Parameters:
targetCoordinateSpace | The tile that works as a coordinate system. |
---|
Returns:
Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null.
getTileAt(index:Int):Tile
Returns the tile instance that exists at the specified index.
Parameters:
index | The index position of the tile object. |
---|
Returns:
The tile object at the specified index position.
getTileIndex(tile:Tile):Int
Returns the index position of a contained Tile instance.
Parameters:
child | The Tile instance to identify. |
---|
Returns:
The index position of the tile object to identify.
removeTile(tile:Tile):Tile
Removes the specified Tile instance from the tile list of the TileContainer instance. The index positions of any tile objects above the tile in the TileContainer are decreased by 1.
Parameters:
tile | The Tile instance to remove. |
---|
Returns:
The Tile instance that you pass in the tile
parameter.
removeTileAt(index:Int):Tile
Removes a Tile from the specified index
position in the tile list of the
TileContainer. The index positions of any tile objects above the tile in
the TileContainer are decreased by 1.
Parameters:
index | The index of the Tile to remove. |
---|
Returns:
The Tile instance that was removed.
removeTiles(beginIndex:Int = 0, endIndex:Int = 0x7fffffff):Void
Removes all Tile instances from the tile list of the TileContainer instance.
Parameters:
beginIndex | The beginning position. |
---|---|
endIndex | The ending position. |
setTileIndex(tile:Tile, index:Int):Void
Changes the position of an existing tile in the tile container. This affects the layering of tile objects. For example, the following example shows three tile objects, labeled a, b, and c, at index positions 0, 1, and 2, respectively:
When you use the setTileIndex()
method and specify an
index position that is already occupied, the only positions that change
are those in between the tile object's former and new position. All
others will stay the same. If a tile is moved to an index LOWER than its
current index, all tiles in between will INCREASE by 1 for their index
reference. If a tile is moved to an index HIGHER than its current index,
all tiles in between will DECREASE by 1 for their index reference. For
example, if the tile container in the previous example is named
container
, you can swap the position of the tile objects
labeled a and b by calling the following code:
container.setTileIndex(container.getTileAt(1), 0);
This code results in the following arrangement of objects:
Parameters:
tile | The Tile instance for which you want to change the index number. |
---|---|
index | The resulting index number for the |
sortTiles(compareFunction:(Tile, Tile) ‑> Int):Void
Sorts the z-order (front-to-back order) of all the tile objects in this container based on a comparison function.
A comparison function should take two arguments to compare. Given the elements
A and B, the result of compareFunction
can have a negative, 0, or positive value:
- A negative return value specifies that A appears before B in the sorted sequence.
- A return value of 0 specifies that A and B have the same sort order.
- A positive return value specifies that A appears after B in the sorted sequence.
The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained.
Parameters:
compareFunction | A comparison function to use when sorting. |
---|
swapTiles(tile1:Tile, tile2:Tile):Void
Swaps the z-order (front-to-back order) of the two specified tile objects. All other tile objects in the tile container remain in the same index positions.
Parameters:
child1 | The first tile object. |
---|---|
child2 | The second tile object. |
swapTilesAt(index1:Int, index2:Int):Void
Swaps the z-order (front-to-back order) of the tile objects at the two specified index positions in the tile list. All other tile objects in the tile container remain in the same index positions.
Parameters:
index1 | The index position of the first tile object. |
---|---|
index2 | The index position of the second tile object. |