@@ -8,11 +8,66 @@ void GameStage::start() {
88
99 // Start transition
1010 transition->open ();
11+
12+ // Create animation
13+ Framework::Animation demo_animation = {
14+ {0 , 0 .5f , Framework::SpriteTransform::NONE},
15+ {0 , 0 .5f , Framework::SpriteTransform::ROTATE_90_CW},
16+ {0 , 0 .5f , Framework::SpriteTransform::ROTATE_180_CW},
17+ {0 , 0 .5f , Framework::SpriteTransform::ROTATE_270_CW}
18+ };
19+ // Create animation handler
20+ spinning_sword = std::make_unique<Framework::AnimationHandler>(graphics_objects->spritesheets [GRAPHICS_OBJECTS::SPRITESHEETS::MAIN_SPRITESHEET], demo_animation);
21+
22+ // Create big animation
23+ Framework::MultiTileAnimation big_multi_animation = {
24+ {
25+ {0 , 0 },
26+ {
27+ {4 , 1 .0f , Framework::SpriteTransform::NONE},
28+ {8 , 0 .4f , Framework::SpriteTransform::NONE},
29+ {12 , 0 .2f , Framework::SpriteTransform::NONE},
30+ {8 , 0 .4f , Framework::SpriteTransform::NONE},
31+ }
32+ },
33+ {
34+ {16 , 0 },
35+ {
36+ {5 , 1 .0f , Framework::SpriteTransform::NONE},
37+ {9 , 0 .4f , Framework::SpriteTransform::NONE},
38+ {13 , 0 .2f , Framework::SpriteTransform::NONE},
39+ {9 , 0 .4f , Framework::SpriteTransform::NONE},
40+ }
41+ },
42+ {
43+ {32 , 0 },
44+ {
45+ {6 , 1 .0f , Framework::SpriteTransform::NONE},
46+ {10 , 0 .4f , Framework::SpriteTransform::NONE},
47+ {14 , 0 .2f , Framework::SpriteTransform::NONE},
48+ {10 , 0 .4f , Framework::SpriteTransform::NONE},
49+ }
50+ },
51+ {
52+ {48 , 0 },
53+ {
54+ {7 , 1 .0f , Framework::SpriteTransform::NONE},
55+ {11 , 0 .4f , Framework::SpriteTransform::NONE},
56+ {15 , 0 .2f , Framework::SpriteTransform::NONE},
57+ {11 , 0 .4f , Framework::SpriteTransform::NONE},
58+ }
59+ },
60+ };
61+ // Create animation handler
62+ big_animation = std::make_unique<Framework::MultiTileAnimationHandler>(graphics_objects->spritesheets [GRAPHICS_OBJECTS::SPRITESHEETS::MAIN_SPRITESHEET], big_multi_animation);
1163}
1264
1365bool GameStage::update (float dt) {
1466 transition->update (dt);
1567
68+ spinning_sword->update (dt);
69+ big_animation->update (dt);
70+
1671 if (input->just_down (Framework::KeyHandler::Key::ESCAPE) || input->just_down (Framework::KeyHandler::Key::P)) {
1772 finish (new PausedStage (this ), false );
1873 }
@@ -25,6 +80,9 @@ void GameStage::render() {
2580
2681 graphics_objects->spritesheets [GRAPHICS_OBJECTS::SPRITESHEETS::MAIN_SPRITESHEET].sprite (0 , Framework::Vec (128 , 64 ));
2782
83+ spinning_sword->render ({ 64 , 64 });
84+ big_animation->render ({ 64 , 96 });
85+
2886 transition->render ();
2987}
3088
0 commit comments