当前位置: 首页>>代码示例>>C++>>正文


C++ Tile::SetGrayscale方法代码示例

本文整理汇总了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);
    }
}
开发者ID:muthukdi,项目名称:CppFinalProject,代码行数:65,代码来源:Game.cpp


注:本文中的Tile::SetGrayscale方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。