diff options
Diffstat (limited to 'Oscillating.cpp')
-rw-r--r-- | Oscillating.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Oscillating.cpp b/Oscillating.cpp new file mode 100644 index 0000000..4839282 --- /dev/null +++ b/Oscillating.cpp @@ -0,0 +1,33 @@ +#include "Oscillating.h" + +#include <cmath> + +#include <raylib.h> + +#include "Generator.h" + + +Oscillating::Oscillating() : + m_phase {0}, + m_shift {1.6f} +{ +} + + +void +Oscillating::update(const float dt, Vector2& position, Generator& generator) +{ + (void) generator; + m_phase += dt * 0.8f; + if (m_phase > 2.f) + m_phase -= 2.f; + const float cos = std::cos(m_phase * M_PI); + position.x += cos * m_shift; +} + + +void +Oscillating::set_phase(const float phase) +{ + m_phase = phase; +} |