本文整理汇总了C++中Map::GetTileWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ Map::GetTileWidth方法的具体用法?C++ Map::GetTileWidth怎么用?C++ Map::GetTileWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Map
的用法示例。
在下文中一共展示了Map::GetTileWidth方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetTiles
/** getTiles
*
* Given a map gets the tiles for the map
*/
int HandlerUtils::GetTiles(const Map& map, Magick::Image& tileset, std::vector<Magick::Image>& tiles)
{
int numTilesX = tileset.columns() / map.GetTileWidth();
int numTilesY = tileset.rows() / map.GetTileHeight();
tiles.reserve(numTilesX * numTilesY);
for (int i = 0; i < numTilesY; i++)
{
for (int j = 0; j < numTilesX; j++)
{
Magick::Geometry dim(map.GetTileWidth(), map.GetTileHeight(), j * map.GetTileWidth(), i * map.GetTileHeight());
int index = i * numTilesX + j;
tiles[index] = tileset;
tiles[index].crop(dim);
}
}
return 0;
}
示例2: LayerToImage
/** layerToImage
*
* Converts a layer into an ImageMagick Image
*/
int HandlerUtils::LayerToImage(const Map& map, const Layer& layer, std::vector<Magick::Image>& tiles,
Magick::Image& image)
{
for (unsigned int i = 0; i < map.GetHeight(); i++)
{
for (unsigned int j = 0; j < map.GetWidth(); j++)
{
int index = i * map.GetWidth() + j;
int tile = layer[index];
if (tile == -1)
continue;
image.composite(tiles[tile], j * map.GetTileWidth(), i * map.GetTileHeight(), Magick::AtopCompositeOp);
}
}
return 0;
}