}
Trampoline::Trampoline(const lisp::Lisp& lisp)
- : Rock(lisp, "images/objects/trampoline/trampoline.sprite")
+ : Rock(lisp, "images/objects/trampoline/trampoline.sprite")
{
sound_manager->preload(TRAMPOLINE_SOUND);
Player* player = dynamic_cast<Player*> (&other);
//Trampoline works for player
if(player) {
- float vy = player->physic.vy;
+ float vy = player->physic.get_velocity_y();
//player is falling down on trampoline
if(hit.top && vy >= 0) {
- if(player->get_controller()->hold(Controller::JUMP)) {
- vy = VY_MIN;
- } else {
- vy = VY_INITIAL;
- }
- player->physic.vy = vy;
- sound_manager->play(TRAMPOLINE_SOUND);
- sprite->set_action("swinging", 1);
- return FORCE_MOVE;
+ if(player->get_controller()->hold(Controller::JUMP)) {
+ vy = VY_MIN;
+ } else {
+ vy = VY_INITIAL;
+ }
+ player->physic.set_velocity_y(vy);
+ sound_manager->play(TRAMPOLINE_SOUND);
+ sprite->set_action("swinging", 1);
+ return FORCE_MOVE;
}
}
WalkingBadguy* walking_badguy = dynamic_cast<WalkingBadguy*> (&other);
float vy = walking_badguy->get_velocity_y();
//walking_badguy is falling down on trampoline
if(hit.top && vy >= 0) {
- vy = VY_INITIAL;
- walking_badguy->set_velocity_y(vy);
- sound_manager->play(TRAMPOLINE_SOUND);
- sprite->set_action("swinging", 1);
- return FORCE_MOVE;
+ vy = VY_INITIAL;
+ walking_badguy->set_velocity_y(vy);
+ sound_manager->play(TRAMPOLINE_SOUND);
+ sprite->set_action("swinging", 1);
+ return FORCE_MOVE;
}
}
}