本文整理汇总了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();
}
}
示例2: main
int main()
{
Env();
SceneManager sceneManager;
while (Env().isOpen())
{
Env().begin();
sceneManager.Update();
sceneManager.Draw();
Env().end();
}
}
示例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;
}
示例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();
}
}
示例5: gameDraw
void gameDraw(void)
{
sceneManager.Draw(renderer);
}