本文整理汇总了C++中AnimatedSprite::move方法的典型用法代码示例。如果您正苦于以下问题:C++ AnimatedSprite::move方法的具体用法?C++ AnimatedSprite::move怎么用?C++ AnimatedSprite::move使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnimatedSprite
的用法示例。
在下文中一共展示了AnimatedSprite::move方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
Animation* currentAnimation = &walkingAnimationLeft;
PlayerImage = AnimatedSprite(sf::seconds(0.1), true, false);
PlayerImage.setPosition(sf::Vector2f(screenDimensions / 3));
sf::Clock frameClock;
float speed = 160.f;
bool noKeyWasPressed = true;
// ------------------------
// Initialization ends here
// Our GAMELOOP starts here
while (window.isOpen()) {
Event event;
while (window.pollEvent(event)) {
if (event.type == Event::Closed) {
window.close();
}
if (event.type == Event::MouseButtonReleased) {
playerInventory->refreshItems();
dragging = false;
clicked = false;
}
}
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;