本文整理汇总了C++中TileLayer::getAnimation方法的典型用法代码示例。如果您正苦于以下问题:C++ TileLayer::getAnimation方法的具体用法?C++ TileLayer::getAnimation怎么用?C++ TileLayer::getAnimation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileLayer
的用法示例。
在下文中一共展示了TileLayer::getAnimation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: startAnimation
/* ------------------------------------------------------------------------------
* startAnimation - Attempts to start the next tile in the chained conveyor
* belt animation. Returns true if all tiles have been started. For best
* results, call this method each time a new screen frame is blitted.
*/
bool ConveyorAnimation::startAnimation() {
if (this->nextTileToStart >= this->conveyorTiles.size()) {
return true;
}
GridLayer* gl = GridLayer::GetInstance();
TileLayer* currentTile = NULL;
if (this->nextTileToStart == 0) {
// Always start the first tile in the belt.
TileCoord currentTileCoord = this->conveyorTiles[0];
currentTile = gl->getTile(currentTileCoord.first, currentTileCoord.second);
currentTile->getAnimation()->play();
gl->pushAnimatedTile(currentTile);
this->nextTileToStart++;
} else {
TileCoord currentTileCoord = this->conveyorTiles[this->nextTileToStart-1];
currentTile = gl->getTile(currentTileCoord.first, currentTileCoord.second);
if ((currentTile->getAnimation()->getCurrentStill()+1) % 8 == 0) {
TileCoord tileCoord = this->conveyorTiles[this->nextTileToStart];
TileLayer* tile = gl->getTile(tileCoord.first, tileCoord.second);
tile->getAnimation()->play();
gl->pushAnimatedTile(tile);
this->nextTileToStart++;
}
}
return (this->nextTileToStart >= this->conveyorTiles.size());
}