#include "sprite/sprite.hpp"
#include "sprite/sprite_manager.hpp"
#include "supertux/object_factory.hpp"
+#include "util/reader.hpp"
/* Trampoline will accelerate player to to VY_INITIAL, if
* he jumps on it to VY_MIN. */
Rock(lisp, "images/objects/trampoline/trampoline.sprite"),
portable(true)
{
- sound_manager->preload(TRAMPOLINE_SOUND);
+ SoundManager::current()->preload(TRAMPOLINE_SOUND);
//Check if this trampoline is not portable
if(lisp.get("portable", portable)) {
if(!portable) {
//we need another sprite
sprite_name = "images/objects/trampoline/trampoline_fix.sprite";
- sprite = sprite_manager->create(sprite_name);
+ sprite = SpriteManager::current()->create(sprite_name);
sprite->set_action("normal");
}
}
}
+Trampoline::Trampoline(const Vector& pos, bool port) :
+ Rock(pos, "images/objects/trampoline/trampoline.sprite"),
+ portable(port)
+{
+ SoundManager::current()->preload(TRAMPOLINE_SOUND);
+ if(!port) {
+ sprite_name = "images/objects/trampoline/trampoline_fix.sprite";
+ sprite = SpriteManager::current()->create(sprite_name);
+ sprite->set_action("normal");
+ }
+}
+
void
Trampoline::update(float elapsed_time)
{
vy = VY_INITIAL;
}
player->get_physic().set_velocity_y(vy);
- sound_manager->play(TRAMPOLINE_SOUND);
+ SoundManager::current()->play(TRAMPOLINE_SOUND);
sprite->set_action("swinging", 1);
return FORCE_MOVE;
}
if(hit.top && vy >= 0) {
vy = VY_INITIAL;
walking_badguy->set_velocity_y(vy);
- sound_manager->play(TRAMPOLINE_SOUND);
+ SoundManager::current()->play(TRAMPOLINE_SOUND);
sprite->set_action("swinging", 1);
return FORCE_MOVE;
}
return Rock::is_portable() && portable;
}
-IMPLEMENT_FACTORY(Trampoline, "trampoline");
-
/* EOF */