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


C++ SceneManager::Draw方法代码示例

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


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

示例1: main

int main() {
  App::Get();
  SceneManager manager;
  while (App::Get().isOpen()) {
    App::Get().begin();
    
    manager.Update();
    manager.Draw();

    App::Get().end();
  }
}
开发者ID:ryo0306,项目名称:GameJam-11-18,代码行数:12,代码来源:main.cpp

示例2: main

int main() 
{
	Env();

	SceneManager sceneManager;

  while (Env().isOpen()) 
  {
	Env().begin();

	sceneManager.Update();

	sceneManager.Draw();

	Env().end();
  }
}
开发者ID:zun-ferrum,项目名称:ReTowerDefense,代码行数:17,代码来源:main.cpp

示例3: WinMain

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmaLine, int  nCmaShow)
{
	if (DxLib_Init() == -1)return -1;
	ChangeWindowMode(TRUE);
	SetDrawScreen(DX_SCREEN_BACK);
	SetGraphMode((int)Window::WIDTH, (int)Window::HEIGHT, GetColor(0, 0, 0));

	SceneManager sceneManager;
	int currentScene = (int)SceneID::NON;
	int nextScene = (int)SceneID::TITLE;
	
	char key[256];

	while (ScreenFlip() == 0 && ProcessMessage() == 0 && GetHitKeyStateAll(key) == 0)
	{
		ClearDrawScreen();

		if (nextScene != currentScene)
		{
			currentScene = nextScene;
			sceneManager.SetScene(currentScene);
		}

		sceneManager.Update();
		sceneManager.Draw();

		nextScene = sceneManager.SceneEnd();

		if (isPresskey(KEY_INPUT_ESCAPE))
		{
			DxLib_End();
		}
	}

	return 0;
}
开发者ID:ryou62525,项目名称:GameStorage,代码行数:36,代码来源:main.cpp

示例4: main

int main()
{
	srand(time(NULL));
	std::chrono::steady_clock myClock;
	const auto timePerTick = std::chrono::milliseconds(16);
	auto timeOfLastTick = myClock.now();

	/** Prepare the window */
	//int screenWidth = VideoMode::getDesktopMode().width;
	//int screenHeight = VideoMode::getDesktopMode().height;	

	int screenWidth = 1280;
	int screenHeight = 720;
	window = new RenderWindow(VideoMode(screenWidth, screenHeight, 32), "FYP");
	window->setFramerateLimit(60);
	window->setVerticalSyncEnabled(true);
	View view = View(FloatRect(0, 0, screenWidth, screenHeight));
	window->setView(view);

	b2Vec2 Gravity(0.f, 0.f);
	world = new b2World(Gravity);
	world->SetAllowSleeping(false);
	ContactListener contactListener = ContactListener();
	world->SetContactListener(&contactListener);

	lightRenderStates = new sf::RenderStates();
	lightRenderStates->blendMode = sf::BlendMultiply;

	sf::Texture penumbraTexture;
	penumbraTexture.loadFromFile("assets/penumbraTexture.png");
	penumbraTexture.setSmooth(true);

	unshadowShader = new sf::Shader();
	lightOverShapeShader = new sf::Shader();
	normalsShader = new sf::Shader();
	unshadowShader->loadFromFile("assets/unshadowShader.frag", sf::Shader::Fragment);
	lightOverShapeShader->loadFromFile("assets/lightOverShapeShader.frag", sf::Shader::Fragment);
	normalsShader->loadFromFile("assets/normalsShader.frag", sf::Shader::Fragment);

	ltbl::LightSystem::GetInstance()->create(sf::FloatRect{ { 0.f, 0.f }, Vector2f(view.getSize().x,  view.getSize().y) }, Vector2u(view.getSize().x, view.getSize().y), penumbraTexture, *unshadowShader, *lightOverShapeShader, *normalsShader);
	ltbl::LightSystem::GetInstance()->normalsEnabled(false);

	sf::Sprite sprite(ltbl::LightSystem::GetInstance()->getLightingTexture());
	sprite.setPosition(window->getView().getCenter());

	SFMLDebugDraw debugDraw(*window);
	world->SetDebugDraw(&debugDraw);
	debugDraw.SetFlags(b2Draw::e_shapeBit);
	//setting up the managers
	InputManager::GetInstance();
	AudioManager::GetInstance();
	SceneChanger::GetInstance();
	SettingsManager::GetInstance();

	SceneManager* sceneManager = new SceneManager();
	SceneChanger::GetInstance()->ChangeScene(GameState::GAME);

	ml = new tmx::MapLoader("Maps");
	ml->Load("myMap.tmx");

	Network::GetInstance();

	while (window->isOpen())
	{
		//while (myClock.now() - timeOfLastTick >= timePerTick) {
		timeOfLastTick = myClock.now();

		float32 timeStep = 1 / 20.0;      //the length of time passed to simulate (seconds)
		int32 velocityIterations = 200;   //how strongly to correct velocity
		int32 positionIterations = 100;   //how strongly to correct position

		world->Step(timeStep, velocityIterations, positionIterations);

		//checking for bodies that need to be destroyed (Using their user data)
		//Consider threading this operation 
		/*b2Body* bodyList = world->GetBodyList();
		for (; bodyList != NULL; bodyList = bodyList->GetNext()) {
			if (bodyList->GetFixtureList()->GetUserData() == "Destroy") {
				world->DestroyBody(bodyList);
				break;
			}
		}*/

		//InputManager::GetInstance()->Update();
		//AudioManager::GetInstance()->update();
		sceneManager->Update();
		//Network::GetInstance()->Update();
		//}  

		window->clear();
		window->draw(*ml);
		sceneManager->Draw();
		//world->DrawDebugData();  

		window->display();

	}
}
开发者ID:Redbassist,项目名称:FYP-Server,代码行数:98,代码来源:FYP.cpp

示例5: gameDraw

void gameDraw(void)
{
	sceneManager.Draw(renderer);
}
开发者ID:trudeHisa,项目名称:workspace,代码行数:4,代码来源:game.cpp


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