20 lines
518 B
C++
20 lines
518 B
C++
#include <cmath>
|
|
#include <numbers>
|
|
#include "Arrow.hpp"
|
|
|
|
void Arrow::draw(const GameRenderer *renderer, const Sprite &sprite, double player_x, double player_y) const
|
|
{
|
|
renderer->draw_sprite_rotated(
|
|
sprite,
|
|
(int)(x - sprite.width / 2 + renderer->screen_width / 2 - player_x),
|
|
(int)(y - sprite.height / 2 + renderer->screen_height / 2 - player_y),
|
|
angle * 180 / std::numbers::pi
|
|
);
|
|
}
|
|
|
|
void Arrow::update()
|
|
{
|
|
x += std::cos(angle) * speed;
|
|
y += std::sin(angle) * speed;
|
|
}
|