Have a barely working animation thing that animates the evil eye when you click a button.
This commit is contained in:
parent
51c1e04f61
commit
b87217ff90
7 changed files with 35 additions and 2 deletions
27
animator.hpp
Normal file
27
animator.hpp
Normal file
|
@ -0,0 +1,27 @@
|
|||
#pragma once
|
||||
#include <fmt/core.h>
|
||||
|
||||
struct Animator {
|
||||
int width = 0;
|
||||
int height = 0;
|
||||
int max_frames = 0;
|
||||
size_t count = 0;
|
||||
int frame = 0;
|
||||
bool playing = false;
|
||||
|
||||
inline void step(sf::Sprite& sprite, int rect_x, int rect_y, int rect_w, int rect_h) {
|
||||
if(playing) {
|
||||
count++;
|
||||
frame = ((count / 4) % max_frames);
|
||||
playing = frame != 0;
|
||||
}
|
||||
|
||||
sprite.setTextureRect(sf::IntRect({
|
||||
{rect_x + frame * width, rect_y},
|
||||
{rect_w, rect_h}}));
|
||||
}
|
||||
|
||||
inline void play() {
|
||||
playing = true;
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue