#include "sprite/sprite_manager.hpp"
#include "util/reader.hpp"
-MovingSprite::MovingSprite(const Vector& pos, const std::string& sprite_name,
+#include <stdexcept>
+
+MovingSprite::MovingSprite(const Vector& pos, const std::string& sprite_name,
int layer, CollisionGroup collision_group) :
- sprite_name(sprite_name),
+ sprite_name(sprite_name),
sprite(),
layer(layer)
{
}
MovingSprite::MovingSprite(const Reader& reader, const Vector& pos, int layer, CollisionGroup collision_group) :
- sprite_name(),
+ sprite_name(),
sprite(),
layer(layer)
{
}
MovingSprite::MovingSprite(const Reader& reader, const std::string& sprite_name, int layer, CollisionGroup collision_group) :
- sprite_name(sprite_name),
+ sprite_name(sprite_name),
sprite(),
layer(layer)
{
}
MovingSprite::MovingSprite(const MovingSprite& other) :
- MovingObject(other),
+ MovingObject(other),
sprite_name(),
sprite(),
layer(other.layer)
void
MovingSprite::set_action_centered(const std::string& action, int loops)
{
- Vector old_size = bbox.get_size();
+ Vector old_size = bbox.get_size().as_vector();
sprite->set_action(action, loops);
set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
- set_pos(get_pos() - (bbox.get_size() - old_size) / 2);
+ set_pos(get_pos() - (Vector(bbox.get_size().as_vector()) - old_size) / 2);
}
void