diff options
Diffstat (limited to 'examples/shooter/bullet.cpp')
-rw-r--r-- | examples/shooter/bullet.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/shooter/bullet.cpp b/examples/shooter/bullet.cpp new file mode 100644 index 00000000..c589b4db --- /dev/null +++ b/examples/shooter/bullet.cpp @@ -0,0 +1,33 @@ +#include "bullet.h" + +Bullet::Bullet(const glm::vec4 &bound, Direction dir, float speed, float depth) + : bound_(bound), dir_(dir), speed_(speed), depth_(depth) +{ +} + +void Bullet::draw(yage::SpriteBatch &sp) +{ + switch(dir_) { + case Direction::UP: + bound_.y += speed_; + break; + case Direction::DOWN: + bound_.y -= speed_; + break; + case Direction::LEFT: + bound_.x -= speed_; + break; + case Direction::RIGHT: + bound_.x += speed_; + break; + } + sp.draw( + bound_, {0, 0, 1, 1}, + yage::ResourceManager::getTexture("examples/resources/bullet.png").id, + yage::Colour(255, 255, 255, 255), depth_); +} + +glm::vec4 Bullet::position() const +{ + return bound_; +} |