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


C++ LayerManager::add方法代码示例

本文整理汇总了C++中LayerManager::add方法的典型用法代码示例。如果您正苦于以下问题:C++ LayerManager::add方法的具体用法?C++ LayerManager::add怎么用?C++ LayerManager::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LayerManager的用法示例。


在下文中一共展示了LayerManager::add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

void Gamestep3::init()
{
	window.setMouseCursorVisible(true);

	layerManager.add(&white1l);
	layerManager.add(&white2l);

	layerManager.add(&layerBackground);
	layerManager.add(&layerCell);
	layerManager.add(&layerAgent);


	// Generation de la map de cellules
	const sf::Vector2u viewport = window.getSize();
	const sf::Vector2u margins(100, 100);

	const int maxRadius = 50;
	const int minSpacing = 5;

	const int idealCols = 10;
	const int idealRows = 5;

	int W = viewport.x - 2 * ( margins.x + maxRadius );
	int H = viewport.y - 2 * ( margins.y + maxRadius );

	int U = H / (( maxRadius + minSpacing ) * 4);
	int V = W / (( maxRadius + minSpacing ) * 2);

	if(U > idealRows) U = idealRows;
	if(V > idealCols) V = idealCols;

	float dx = W / (V - 1);
	float dy = H / (U * 1.5f);

	for(int u = 0; u < U; u++)
	{
		for(int v = 0; v < V; v++)
		{

			float x = v 			* dx + margins.x + maxRadius;
			float y = (u*2 + v%2) 	* dy + margins.y + maxRadius;


			Cell::Size s;
			switch(rand() % 3)
			{
				case 0: s = Cell::SMALL; break;
				case 1: s = Cell::MED; break;
				case 2: s = Cell::BIG; break;
			}


			Cell* c;

			if(u == 0 && v == 0) // Le joueur commence dans le coin haut gauche
				c = new Cell(sf::Vector2f(x, y), Cell::BIG, 1);
			else if(u == U-1 && v == V-1) // Et l'ennemi dans le coin bas droite
				c = new Cell(sf::Vector2f(x, y), Cell::BIG, -1);
			else
				c = new Cell(sf::Vector2f(x, y), s);


			cells.push_back(c);
			layerCell.addElement(c);

		}
	}


	reticule.setOrigin(64, 64);
	layerCell.addElement(&reticule);

}
开发者ID:Lord-Nazdar,项目名称:GameaNiaque,代码行数:73,代码来源:step3.cpp


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