![]() |
Gamedev Framework (gf)
0.19.0
A C++17 framework for 2D games
|
A tile layer. More...
#include <gf/TileLayer.h>
Public Member Functions | |
TileLayer () | |
Constructor. More... | |
Vector2i | getMapSize () const |
Get the size of the layer. More... | |
RectF | getLocalBounds () const |
Get the local bounding rectangle of the layer. More... | |
void | setAnchor (Anchor anchor) |
Set the anchor origin of the entity. More... | |
VertexBuffer | commitGeometry () const |
Create a buffer with the current geometry. More... | |
virtual void | draw (RenderTarget &target, const RenderStates &states) override |
Draw the object to a render target. More... | |
Tileset parameters | |
std::size_t | createTilesetId () |
Create a tileset id. More... | |
Tileset & | getTileset (std::size_t id) |
Get a tileset with a tileset id. More... | |
const Tileset & | getTileset (std::size_t id) const |
Get a tileset with a tileset id. More... | |
Tile definition | |
void | setTileSize (Vector2i tileSize) |
Set the tile size. More... | |
Vector2i | getTileSize () const |
Get the tile size. More... | |
void | setTile (Vector2i position, std::size_t tileset, int tile, Flags< Flip > flip=None) |
Set a tile. More... | |
int | getTile (Vector2i position) const |
Get a tile. More... | |
Flags< Flip > | getFlip (Vector2i position) const |
Get the flip properties of a tile. More... | |
std::size_t | getTileTileset (Vector2i position) const |
Get the tileset property of a tile. More... | |
void | clear () |
Remove all the tiles. More... | |
![]() | |
Transformable () | |
Default constructor. More... | |
void | setOrigin (Vector2f origin) |
Set the local origin of the object. More... | |
Vector2f | getOrigin () const |
Get the local origin of the object. More... | |
void | setPosition (Vector2f position) |
Set the position of the object. More... | |
Vector2f | getPosition () const |
Get the position of the object. More... | |
void | move (Vector2f offset) |
Move the object by a given offset. More... | |
void | setRotation (float angle) |
Set the orientation of the object. More... | |
float | getRotation () const |
Get the orientation of the object. More... | |
void | rotate (float angle) |
Rotate the object. More... | |
void | setScale (Vector2f factors) |
Set the scale factors of the object. More... | |
void | setScale (float factor) |
Set the scale factor of the object. More... | |
Vector2f | getScale () const |
Get the current scale of the object. More... | |
void | scale (Vector2f factors) |
Scale the object. More... | |
void | scale (float factor) |
Scale the object. More... | |
Matrix3f | getTransform () const |
Get the combined transform of the object. More... | |
Matrix3f | getInverseTransform () const |
Get the inverse of the combined transform of the object. More... | |
![]() | |
virtual | ~Drawable () |
Virtual desctructor. More... | |
Static Public Member Functions | |
static TileLayer | createOrthogonal (Vector2i layerSize) |
static TileLayer | createStaggered (Vector2i layerSize, MapCellAxis axis, MapCellIndex index) |
Static Public Attributes | |
static constexpr int | NoTile = -1 |
A constant meaning that there is no tile. More... | |
Additional Inherited Members | |
![]() | |
void | setOriginFromAnchorAndBounds (Anchor anchor, const RectF &bounds) |
Set the origin from an anchor and bounds. More... | |
A tile layer.
A tile layer represents a map made of tiles. gf::TileLayer makes it easy to draw a tile map.
The tile layer is given with an array of indices. Each index correspond to a tile in the tileset. Tile 0 correspond to the tile at the top left in the tileset. Then tile are numbered from left to right, and then from top to bottom. If a tile is not present in the tile layer, the constant gf::TileLayer::NoTile can be used.
gf::TileLayer::TileLayer | ( | ) |
Constructor.
void gf::TileLayer::clear | ( | ) |
Remove all the tiles.
VertexBuffer gf::TileLayer::commitGeometry | ( | ) | const |
Create a buffer with the current geometry.
The geometry is uploaded in the graphics memory so that it's faster to draw.
|
static |
std::size_t gf::TileLayer::createTilesetId | ( | ) |
Create a tileset id.
|
overridevirtual |
Draw the object to a render target.
This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.
target | Render target to draw to |
states | Current render states |
Implements gf::Drawable.
Get the flip properties of a tile.
position | The position of the tile in the tile layer |
RectF gf::TileLayer::getLocalBounds | ( | ) | const |
Get the local bounding rectangle of the layer.
The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.
|
inline |
Get the size of the layer.
int gf::TileLayer::getTile | ( | Vector2i | position | ) | const |
Get a tile.
position | The position of the tile in the tile layer |
gf::TileLayer::NoTile
Tileset& gf::TileLayer::getTileset | ( | std::size_t | id | ) |
Get a tileset with a tileset id.
id | A valid tileset id |
const Tileset& gf::TileLayer::getTileset | ( | std::size_t | id | ) | const |
Get a tileset with a tileset id.
id | A valid tileset id |
|
inline |
std::size_t gf::TileLayer::getTileTileset | ( | Vector2i | position | ) | const |
Get the tileset property of a tile.
position | The position of the tile in the tile layer |
void gf::TileLayer::setAnchor | ( | Anchor | anchor | ) |
Set the anchor origin of the entity.
Compute the origin of the entity based on the local bounds and the specified anchor. Internally, this function calls Transformable::setOrigin()
.
anchor | The anchor of the entity |
void gf::TileLayer::setTile | ( | Vector2i | position, |
std::size_t | tileset, | ||
int | tile, | ||
Flags< Flip > | flip = None |
||
) |
Set a tile.
position | The position of the tile in the tile layer |
tileset | The tileset id of the tile |
tile | The number of the tile in the tileset or gf::TileLayer::NoTile |
flip | The flip property of the tile |
void gf::TileLayer::setTileSize | ( | Vector2i | tileSize | ) |
|
static |
A constant meaning that there is no tile.