From: Ricardo Cruz Date: Wed, 12 May 2004 12:18:47 +0000 (+0000) Subject: Smoother vertical scrolling. X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=6cd041042e39f48c96733ad9757702e842820f57;p=supertux.git Smoother vertical scrolling. You can play a bit with Y_SPACE, in case you want to tune it more. SVN-Revision: 1128 --- diff --git a/src/world.cpp b/src/world.cpp index 5701c18eb..0f8532886 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -310,9 +310,13 @@ World::action(double frame_ratio) } } -// the space that it takes for the screen to start scrolling, regarding -// screen bounds (in pixels) +/* the space that it takes for the screen to start scrolling, regarding +/* screen bounds (in pixels) */ +// should be higher than screen->w/2 (320) #define X_SPACE (400-16) +// should be less than screen->h/2 (240) +#define Y_SPACE 200 + // the time it takes to move the camera (in ms) #define CHANGE_DIR_SCROLL_SPEED 2000 @@ -380,7 +384,10 @@ void World::scrolling(double frame_ratio) float tux_pos_y = tux.base.y + (tux.base.height/2); - scroll_y = tux_pos_y - (screen->h / 2); + if (scroll_y < tux_pos_y - (screen->h - Y_SPACE)) + scroll_y = tux_pos_y - (screen->h - Y_SPACE); + else if (scroll_y > tux_pos_y - Y_SPACE) + scroll_y = tux_pos_y - Y_SPACE; // this code prevent the screen to scroll before the start or after the level's end if(scroll_y < 0)