X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fmrrocket.cpp;h=4ac7045a0794195eedce87d608804763eaac7cc4;hb=c655b296af60a436a8ce2bf0e6ede4f72eae0580;hp=7e90629c17cb4f753750eea291612015e10a19cc;hpb=714a30abd887def6331a193216387e66cbfbd1bb;p=supertux.git diff --git a/src/badguy/mrrocket.cpp b/src/badguy/mrrocket.cpp index 7e90629c1..4ac7045a0 100644 --- a/src/badguy/mrrocket.cpp +++ b/src/badguy/mrrocket.cpp @@ -20,6 +20,7 @@ #include #include "mrrocket.hpp" +#include "object/explosion.hpp" static const float SPEED = 200; @@ -47,8 +48,8 @@ MrRocket::write(lisp::Writer& writer) void MrRocket::activate() { - physic.vx = (dir == LEFT ? -SPEED : SPEED); - physic.gravity_enabled = false; + physic.set_velocity_x(dir == LEFT ? -SPEED : SPEED); + physic.enable_gravity(false); sprite->set_action(dir == LEFT ? "left" : "right"); } @@ -56,7 +57,7 @@ void MrRocket::active_update(float elapsed_time) { if (collision_timer.check()) { - Sector::current()->add_object(new RocketExplosion(get_pos(), dir)); + Sector::current()->add_object(new Explosion(get_bbox().get_middle())); remove_me(); } else if (!collision_timer.started()) { @@ -78,11 +79,11 @@ void MrRocket::collision_solid(const CollisionHit& hit) { if(hit.top || hit.bottom) { - physic.vy = 0; + physic.set_velocity_y(0); } else if(hit.left || hit.right) { sprite->set_action(dir == LEFT ? "collision-left" : "collision-right"); - physic.vx = 0; - collision_timer.start(0.2, true); + physic.set_velocity_x(0); + collision_timer.start(0.2f, true); } }