#include "../animatedsprite.hpp" #include #include int main() { sf::RenderWindow window(sf::VideoMode(800, 600), "AnimatedSprite Test"); window.setVerticalSyncEnabled(true); sf::Texture texture; if(!texture.loadFromFile("test.png")) { std::puts("Failed to load texture."); return 1; } auto const animations = Animation::LoadFromFile("testanimations.txt"); if(animations.size() == 0) { std::puts("Test animations definition file was empty or read incorrectly."); return 1; } Animation::Sprite sprite(animations, "default", texture); std::puts("Use the numerical keys to cycle through animations (1-7)"); sf::Clock sfclock; bool good = true; while(good) { sf::Event e; while(window.pollEvent(e)) { switch(e.type) { case sf::Event::Closed: good = false; break; case sf::Event::KeyReleased: switch(e.key.code) { case sf::Keyboard::Escape: good = false; break; case sf::Keyboard::Up: sprite.SetHorizontalFlip(!sprite.IsFlippedHorizontally()); break; case sf::Keyboard::Down: sprite.SetVerticalFlip(!sprite.IsFlippedVertically()); break; case sf::Keyboard::R: sprite.ResetAnimation(); break; case sf::Keyboard::Num1: sprite.SetAnimation("default"); break; case sf::Keyboard::Num2: sprite.SetAnimation("default-reverse"); break; case sf::Keyboard::Num3: sprite.SetAnimation("default-fast"); break; case sf::Keyboard::Num4: sprite.SetAnimation("carousel"); break; case sf::Keyboard::Num5: sprite.SetAnimation("carousel-margin"); break; case sf::Keyboard::Num6: sprite.SetAnimation("carousel-reverse"); break; case sf::Keyboard::Num7: sprite.SetAnimation("carousel-bounce"); break; default: break; } default: break; } } sprite.Update(sfclock.restart()); window.clear(); window.draw(sprite); window.display(); } window.close(); return 0; }