From 181ad14d537d75a97a8d830d70f7d9486f26ee1d Mon Sep 17 00:00:00 2001 From: Aki Date: Sun, 20 Nov 2022 15:50:04 +0100 Subject: FloatingMovment now changes angle when updating --- battles/src/BaseBattle.cpp | 1 + battles/src/Point.cpp | 7 +++++++ 2 files changed, 8 insertions(+) (limited to 'battles/src') diff --git a/battles/src/BaseBattle.cpp b/battles/src/BaseBattle.cpp index eb75464..0de18d5 100644 --- a/battles/src/BaseBattle.cpp +++ b/battles/src/BaseBattle.cpp @@ -104,6 +104,7 @@ BaseBattle::floating_movement(const float dt) const auto speed = movement.speed.scale(dt); transform.position.x += speed.x; transform.position.y += speed.y; + transform.angle = speed.angle(); } } diff --git a/battles/src/Point.cpp b/battles/src/Point.cpp index 9ffa81c..31aecae 100644 --- a/battles/src/Point.cpp +++ b/battles/src/Point.cpp @@ -23,6 +23,13 @@ Point::distance(const Point& other) const } +double +Point::angle() const +{ + return std::atan2(y, x); // (+x, _) is 0 +} + + Point Point::rotate(const double angle) const { -- cgit v1.1