本文整理汇总了C++中Tile::SetGrayscale方法的典型用法代码示例。如果您正苦于以下问题:C++ Tile::SetGrayscale方法的具体用法?C++ Tile::SetGrayscale怎么用?C++ Tile::SetGrayscale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tile
的用法示例。
在下文中一共展示了Tile::SetGrayscale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetEntitiesGrayscale
// Tells the entities to use their grayscale renderables
// instead of their colored ones (applies to all entities)
void Game::SetEntitiesGrayscale(bool grayscale)
{
if (mRobot) mRobot->SetGrayscale(grayscale);
if (mBackground) mBackground->SetGrayscale(grayscale);
if (mForeground) mForeground->SetGrayscale(grayscale);
if (mFlagPole) mFlagPole->SetGrayscale(grayscale);
if (mGrid)
{
int tileWidth = mGrid->TileWidth();
int tileHeight = mGrid->TileHeight();
GG::Rect tileRect(0, 0, tileWidth, tileHeight);
for (int y = 0; y < mGrid->NumRows(); y++)
{
for (int x = 0; x < mGrid->NumCols(); x++)
{
Tile* tile = mGrid->GetTile(y, x);
if (tile->GetRenderable())
{
tile->SetGrayscale(grayscale);
}
tileRect.x += tileWidth;
}
tileRect.y += tileHeight;
tileRect.x = 0;
}
}
std::list<Explosion*>::iterator it = mExplosions.begin();
for ( ; it != mExplosions.end(); ++it)
{
Explosion* boom = *it;
boom->SetGrayscale(grayscale);
}
std::list<Meteor*>::iterator metIt = mMeteors.begin();
for ( ; metIt != mMeteors.end(); ++metIt)
{
Meteor* meteor = *metIt;
meteor->SetGrayscale(grayscale);
}
std::list<Crawler*>::iterator crawlerIter = mCrawlers.begin();
for ( ; crawlerIter != mCrawlers.end(); ++crawlerIter)
{
Crawler* crawler = *crawlerIter;
crawler->SetGrayscale(grayscale);
}
std::list<Coin*>::iterator coinIter = mCoins.begin();
for ( ; coinIter != mCoins.end(); ++coinIter)
{
Coin* coin = *coinIter;
coin->SetGrayscale(grayscale);
}
std::list<Layer*>::iterator mushIter = mMushrooms.begin();
for ( ; mushIter != mMushrooms.end(); ++mushIter)
{
Layer* mushroom = *mushIter;
mushroom->SetGrayscale(grayscale);
}
}