X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fsnail.cpp;h=1f21922aff04033faba35def5328cebf59442488;hb=3655d32f63f75b2af054ec68d4176e55a561ba96;hp=8c04c090b987e9b227178556caa4f121a9d120dc;hpb=714a30abd887def6331a193216387e66cbfbd1bb;p=supertux.git diff --git a/src/badguy/snail.cpp b/src/badguy/snail.cpp index 8c04c090b..1f21922af 100644 --- a/src/badguy/snail.cpp +++ b/src/badguy/snail.cpp @@ -79,8 +79,8 @@ Snail::be_flat() sprite->set_action(dir == LEFT ? "flat-left" : "flat-right"); sprite->set_fps(64); - physic.vx = 0; - physic.vy = 0; + physic.set_velocity_x(0); + physic.set_velocity_y(0); flat_timer.start(4); } @@ -92,8 +92,8 @@ Snail::be_kicked() sprite->set_action(dir == LEFT ? "flat-left" : "flat-right"); sprite->set_fps(64); - physic.vx = 0; - physic.vy = 0; + physic.set_velocity_x(0); + physic.set_velocity_y(0); // start a timer to delay addition of upward movement until we are (hopefully) out from under the player kicked_delay_timer.start(0.05); @@ -125,16 +125,16 @@ Snail::active_update(float elapsed_time) case STATE_KICKED_DELAY: if (kicked_delay_timer.check()) { - physic.vx = (dir == LEFT ? -KICKSPEED : KICKSPEED); - physic.vy = KICKSPEED_Y; + physic.set_velocity_x(dir == LEFT ? -KICKSPEED : KICKSPEED); + physic.set_velocity_y(KICKSPEED_Y); state = STATE_KICKED; } BadGuy::active_update(elapsed_time); break; case STATE_KICKED: - physic.vx = physic.vx * pow(0.99, elapsed_time/0.02); - if (fabsf(physic.vx) < walk_speed) be_normal(); + physic.set_velocity_x(physic.get_velocity_x() * pow(0.99, elapsed_time/0.02)); + if (fabsf(physic.get_velocity_x()) < walk_speed) be_normal(); BadGuy::active_update(elapsed_time); break; @@ -152,22 +152,22 @@ Snail::collision_solid(const CollisionHit& hit) break; case STATE_FLAT: if(hit.top || hit.bottom) { - physic.vy = 0; + physic.set_velocity_y(0); } if(hit.left || hit.right) { } break; case STATE_KICKED_DELAY: if(hit.top || hit.bottom) { - physic.vy = 0; + physic.set_velocity_y(0); } if(hit.left || hit.right) { - physic.vy = 0; + physic.set_velocity_x(0); } break; case STATE_KICKED: if(hit.top || hit.bottom) { - physic.vy = 0; + physic.set_velocity_y(0); } if(hit.left || hit.right) { sound_manager->play("sounds/iceblock_bump.wav", get_pos()); @@ -176,8 +176,8 @@ Snail::collision_solid(const CollisionHit& hit) dir = (dir == LEFT) ? RIGHT : LEFT; sprite->set_action(dir == LEFT ? "flat-left" : "flat-right"); - physic.vx = -physic.vx*0.75; - if (fabsf(physic.vx) < walk_speed) be_normal(); + physic.set_velocity_x(-physic.get_velocity_x()*0.75); + if (fabsf(physic.get_velocity_x()) < walk_speed) be_normal(); } }