From f3166702d7dd30312b5a401f52941aad43ac51c3 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 30 Jan 2021 13:01:01 -0500 Subject: Added standing/walking animations --- src/sprite.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/sprite.h') diff --git a/src/sprite.h b/src/sprite.h index 1f917d9..5e8003b 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -1,14 +1,17 @@ #ifndef SPRITE_H_70503825 #define SPRITE_H_70503825 +#include #include +#include +#include "direction.h" #include "renderer.h" #include "vector.h" class Sprite { public: - Sprite(std::string_view filename, Renderer& renderer, int width, int height); + Sprite(std::string_view filename, Renderer& renderer); int getTextureId() const { return textureId_; @@ -22,11 +25,30 @@ public: vec2i& size() { return size_; } + int getFrame() const { return animations_[curAnim_][curFrame_]; } + + void setDirection(Direction dir); + + Direction getDirection() const { return curDir_; } + + void setWalking(bool walking); + + void tickAnim(); + private: + void updateAnimation(); + int textureId_; vec2i loc_ { 0, 0 }; vec2i size_; + Direction curDir_ = Direction::down; + bool isWalking_ = false; + int curAnim_ = 0; + int curFrame_ = 0; + std::vector> animations_; + std::map stillAnims_; + std::map walkingAnims_; }; #endif /* end of include guard: SPRITE_H_70503825 */ -- cgit 1.4.1