aboutsummaryrefslogtreecommitdiff
path: root/src/crepe
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe')
-rw-r--r--src/crepe/api/Animator.h2
-rw-r--r--src/crepe/api/Sprite.h4
-rw-r--r--src/crepe/system/AnimatorSystem.cpp9
3 files changed, 8 insertions, 7 deletions
diff --git a/src/crepe/api/Animator.h b/src/crepe/api/Animator.h
index 188f193..511d6ef 100644
--- a/src/crepe/api/Animator.h
+++ b/src/crepe/api/Animator.h
@@ -89,7 +89,7 @@ public:
~Animator(); // dbg_trace
-private:
+public:
//! A reference to the Sprite sheet containing.
Sprite & spritesheet;
diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h
index 96b57e1..354f663 100644
--- a/src/crepe/api/Sprite.h
+++ b/src/crepe/api/Sprite.h
@@ -74,10 +74,10 @@ public:
vec2 size;
//! independent sprite angle. rotating clockwise direction in degrees
- double angle_offset;
+ double angle_offset = 0;
//! independent sprite scale multiplier
- double scale;
+ double scale = 1;
/**
* \aspect_ratio ratio of the img so that scaling will not become weird
diff --git a/src/crepe/system/AnimatorSystem.cpp b/src/crepe/system/AnimatorSystem.cpp
index ee00728..1650b3d 100644
--- a/src/crepe/system/AnimatorSystem.cpp
+++ b/src/crepe/system/AnimatorSystem.cpp
@@ -4,6 +4,7 @@
#include "AnimatorSystem.h"
#include "ComponentManager.h"
+#include <iostream>
using namespace crepe;
@@ -25,11 +26,11 @@ void AnimatorSystem::update() {
int curr_frame = static_cast<int>(elapsed_time / frame_duration) % total_frames;
a.curr_row = a.cycle_start + curr_frame;
- a.spritesheet.mask.x = std::clamp((a.curr_row * a.spritesheet.mask.w - a.offset_x), 0,
- a.spritesheet.mask.w);
+ a.spritesheet.mask.x = a.curr_row * a.spritesheet.mask.w;
a.spritesheet.mask.y = (a.curr_col * a.spritesheet.mask.h);
-
- if (!a.looping && curr_frame == total_frames) {
+
+ std::cout << curr_frame << " " << total_frames << std::endl;
+ if (!a.looping && curr_frame == 0) {
a.active = false;
}
}