本文整理汇总了C++中WorldState::setRunning方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldState::setRunning方法的具体用法?C++ WorldState::setRunning怎么用?C++ WorldState::setRunning使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldState
的用法示例。
在下文中一共展示了WorldState::setRunning方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleEvents
void handleEvents(WorldState & state, RenderEngine & render)
{
sf::Event event;
while (window->pollEvent(event))
{
if (event.type == sf::Event::Closed)
state.setRunning(false);
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
state.setRunning(false);
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'r'))
state.toggleModelRotate();
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'q'))
state.toggleIncreaseVelocity();
if(event.type == sf::Event::Resized) {
resize(event.size.width, event.size.height);
}
if(event.type == sf::Event::MouseButtonPressed)
{
state.lastClickPos[0] = event.mouseButton.x;
state.lastClickPos[1] = (state.currentRes[1]-event.mouseButton.y);
state.lastFrameDragPos[0] = event.mouseButton.x;
state.lastFrameDragPos[1] = (state.currentRes[1]-event.mouseButton.y);
state.mouseButtonDown = true;
}
if(event.type == sf::Event::MouseButtonReleased)
state.mouseButtonDown = false;
if(event.type == sf::Event::MouseMoved && state.mouseButtonDown)
{
state.cursorDragAmount[0] += state.lastFrameDragPos[0] - event.mouseMove.x;
state.cursorDragAmount[1] += state.lastFrameDragPos[1] - (state.currentRes[1]-event.mouseMove.y);
state.lastFrameDragPos[0] = event.mouseMove.x;
state.lastFrameDragPos[1] = (state.currentRes[1]-event.mouseMove.y);
}
if(event.type == sf::Event::MouseWheelMoved)
{
state.zoomCamera(event.mouseWheel.delta);
state.cursorScrollAmount += event.mouseWheel.delta;
}
if(event.type == sf::Event::MouseMoved)
{
state.cursorAbsolutePos[0] = event.mouseMove.x;
state.cursorAbsolutePos[1] = (state.currentRes[1]-event.mouseMove.y);
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Up))
state.zoomCamera(1);
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Down))
state.zoomCamera(-1);
}
}
示例2: handleEvents
void handleEvents(sf::Window & window, WorldState & state)
{
sf::Event event;
while (window.pollEvent(event))
{
// Close window : exit
if (event.type == sf::Event::Closed)
state.setRunning(false);
// Escape key : exit
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
state.setRunning(false);
if (event.type == sf::Event::MouseMoved) {
state.updateMousePos(event.mouseMove.x, event.mouseMove.y);
}
}
}
示例3: handleEvents
void handleEvents(WorldState & state, RenderEngine & render)
{
sf::Event event;
while (App->pollEvent(event))
{
if (event.type == sf::Event::Closed)
state.setRunning(false);
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
state.setRunning(false);
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'q'))
state.setShadingMode(0);
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'w'))
state.setShadingMode(1);
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'e'))
state.setShadingMode(2);
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'r'))
state.toggleModelRotate();
if((event.type == sf::Event::TextEntered) && (event.text.unicode == 't'))
state.toggleLightRotate();
}
}
示例4: handleEvents
void handleEvents(sf::Window & window, WorldState & state)
{
sf::Event event;
while (window.pollEvent(event))
{
// Close window : exit
if (event.type == sf::Event::Closed)
state.setRunning(false);
// Escape key : exit
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
state.setRunning(false);
if (event.type == sf::Event::TextEntered) {
Model const & model = state.getModel();
float time = state.getCurrentTime();
RenderEngine render = RenderEngine(render);
switch (static_cast<char>(event.key.code)) {
case 'q':
printf("'q' should scale\n");
// scale = true.
//if(!state.scaleEnabled())
state.toggleScale();
break;
case 'w':
printf("'w' should enable bouncing\n");
state.toggleTranslate();
break;
case 'e':
printf("'e' should enable z rotation\n");
// rotZ = true.
state.toggleRotZ();
break;
case 'r':
printf("'r' should enable y rotation\n");
// rotY = true.
state.toggleRotY();
break;
default:
printf("nothing\n");
break;
}
}
// std::cout << "Your Input: " << static_cast<char>(event.key.code) << std::endl;
//TODO add event handlers for qwer
//'q' should scale
//'w' should enable bouncing
//'e' should enable z rotation
//'r' should enable y rotation
}
}
示例5: handleEvents
void handleEvents(WorldState & state, RenderEngine & render)
{
bool shiftDown = sf::Keyboard::isKeyPressed(sf::Keyboard::LShift) ||sf::Keyboard::isKeyPressed(sf::Keyboard::RShift);
sf::Event Event;
while (App->pollEvent(Event))
{
if (Event.type == sf::Event::Closed)
state.setRunning(false);
if ((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Escape))
state.setRunning(false);
if (Event.type == sf::Event::MouseButtonPressed)
{
previousPos = glm::vec2(Event.mouseButton.x, Event.mouseButton.y);
if(Event.mouseButton.button == sf::Mouse::Left && !shiftDown)
buttonDown[0] = 1;
if(Event.mouseButton.button == sf::Mouse::Right)
buttonDown[1] = true;
if(Event.mouseButton.button == sf::Mouse::Middle)
buttonDown[2] = true;
if(Event.mouseButton.button == sf::Mouse::Left && shiftDown)
buttonDown[2] = true;
}
if (Event.type == sf::Event::MouseButtonReleased)
{
if(Event.mouseButton.button == sf::Mouse::Left && !shiftDown)
buttonDown[0] = false;
if(Event.mouseButton.button == sf::Mouse::Right)
buttonDown[1] = false;
if(Event.mouseButton.button == sf::Mouse::Middle)
buttonDown[2] = false;
if(Event.mouseButton.button == sf::Mouse::Left && shiftDown)
buttonDown[2] = false;
lastUpdate = timer.getElapsedTime().asSeconds();
}
if (Event.type == sf::Event::Resized) {
render.reshape( Event.size.width, Event.size.height );
state.setSize( Event.size.width, Event.size.height );
}
}
lastUpdate = timer.getElapsedTime().asSeconds();
bool needsUpdate = lastUpdate > TIME_BETWEEN_UPDATES;
if (needsUpdate)
{
glm::ivec2 newPos = glm::ivec2(sf::Mouse::getPosition(*App).x, sf::Mouse::getPosition(*App).y);
if(buttonDown[0])
state.updateRotate(previousPos, newPos);
if(buttonDown[1])
state.updateXYTranslate(previousPos, newPos);
if(buttonDown[2])
state.updateZTranslate(previousPos, newPos);
lastUpdate = timer.restart().asSeconds();
previousPos = newPos;
}
}