本文整理汇总了C++中AnimatedSprite::setFrameTime方法的典型用法代码示例。如果您正苦于以下问题:C++ AnimatedSprite::setFrameTime方法的具体用法?C++ AnimatedSprite::setFrameTime怎么用?C++ AnimatedSprite::setFrameTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnimatedSprite
的用法示例。
在下文中一共展示了AnimatedSprite::setFrameTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
sf::Time frameTime = frameClock.restart();
// if a key was pressed set the correct animation and move correctly
sf::Vector2f movement(0.f, 0.f);
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
movement.y -= speed;
noKeyWasPressed = false;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
{
movement.y += speed;
noKeyWasPressed = false;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
{
currentAnimation = &walkingAnimationLeft;
movement.x -= speed;
noKeyWasPressed = false;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
{
currentAnimation = &walkingAnimationRight;
movement.x += speed;
noKeyWasPressed = false;
}
PlayerImage.play(*currentAnimation);
PlayerImage.move(movement * frameTime.asSeconds());
// if no key was pressed stop the animation
if (noKeyWasPressed)
{
//PlayerImage.stop();
PlayerImage.setFrameTime(sf::seconds(0.4));
currentAnimation = &walkingAnimationIdle;
}
if (!noKeyWasPressed) {
PlayerImage.setFrameTime(sf::seconds(0.1));
}
noKeyWasPressed = true;
// update AnimatedSprite
PlayerImage.update(frameTime);
// constatly check if the player completed the quest
playerQuests->checkQuests(draggeditem, playerInventory, PlayerImage);
window.clear();
if (loadedLevel) {
// draw the level background
window.draw(loadedLevel->bgSprite);
}
// draw the menubackground (bottom part of screen)
window.draw(MenuBackground);
for (auto && entity : loadedLevel->currentEntities) {
// draw all active entities in the level
window.draw(entity.Sprite);
}
// Show text of talking NPCs
if (playerQuests->triggerShowText) {