本文整理汇总了C++中TMXLayer::tileGIDAt方法的典型用法代码示例。如果您正苦于以下问题:C++ TMXLayer::tileGIDAt方法的具体用法?C++ TMXLayer::tileGIDAt怎么用?C++ TMXLayer::tileGIDAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TMXLayer
的用法示例。
在下文中一共展示了TMXLayer::tileGIDAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cacheAllLayers
void GUICache::cacheAllLayers(Map* map)
{
// Clear
_mobs.clear();
_obstacles.clear();
_effects.clear();
// Sprites
TMXLayer *spritesLayer = map->getTiledMap()->layerNamed("sprites");
// Obstacles
TMXLayer *obstaclesLayer = map->getTiledMap()->layerNamed("obstacles");
// Effects
TMXLayer *effectsLayer = map->getTiledMap()->layerNamed("effects");
// Portals
TMXLayer *portalsLayer = map->getTiledMap()->layerNamed("portals");
// Init obstacles, mobs and effects structure
for(int ix = 0; ix < map->getWidth(); ix++)
{
for(int iy = 0; iy < map->getHeight(); iy++)
{
Point point = ccp(ix, iy);
if(obstaclesLayer->tileGIDAt( point ) != 0)
{
int position = map->getWidth() * iy + ix;
_obstacles[ position ] = obstaclesLayer->tileAt( point );
}
if(spritesLayer->tileGIDAt( point ) != 0)
{
int position = map->getWidth() * (map->getHeight() - iy - 1) + ix;
_mobs[ position ] = spritesLayer->tileAt( point );
}
if(effectsLayer->tileGIDAt( point ) != 0)
{
int position = map->getWidth() * iy + ix;
_effects[ position ] = effectsLayer->tileAt( point );
}
if(portalsLayer->tileGIDAt( point ) != 0)
{
int position = map->getWidth() * iy + ix;
_portals[ position ] = portalsLayer->tileAt( point );
}
}
}
}