#include "supertux/moving_object.hpp"
#include "util/reader_fwd.hpp"
#include "video/drawing_request.hpp"
-
-class Sprite;
+#include "sprite/sprite_ptr.hpp"
/**
* Abstract base class for MovingObjects that are represented by a Sprite
class MovingSprite : public MovingObject
{
public:
- MovingSprite(const Vector& pos,
- const std::string& sprite_name,
- int layer = LAYER_OBJECTS,
+ MovingSprite(const Vector& pos,
+ const std::string& sprite_name,
+ int layer = LAYER_OBJECTS,
CollisionGroup collision_group = COLGROUP_MOVING);
- MovingSprite(const Reader& reader,
- const Vector& pos,
- int layer = LAYER_OBJECTS,
+ MovingSprite(const Reader& reader,
+ const Vector& pos,
+ int layer = LAYER_OBJECTS,
CollisionGroup collision_group = COLGROUP_MOVING);
- MovingSprite(const Reader& reader,
- const std::string& sprite_name,
- int layer = LAYER_OBJECTS,
+ MovingSprite(const Reader& reader,
+ const std::string& sprite_name,
+ int layer = LAYER_OBJECTS,
CollisionGroup collision_group = COLGROUP_MOVING);
- MovingSprite(const Reader& reader,
- int layer = LAYER_OBJECTS,
+ MovingSprite(const Reader& reader,
+ int layer = LAYER_OBJECTS,
CollisionGroup collision_group = COLGROUP_MOVING);
MovingSprite(const MovingSprite& moving_sprite);
//MovingSprite& operator=(const MovingSprite& moving_sprite);
protected:
std::string sprite_name;
- std::auto_ptr<Sprite> sprite;
+ SpritePtr sprite;
int layer; /**< Sprite's z-position. Refer to video/drawing_context.hpp for sensible values. */
/** set new action for sprite and resize bounding box. use with