NAME

SDLx::FPS - a more convenient way to set a framerate

SYNOPSIS

use SDLx::FPS;
my $fps = SDLx::FPS->new(fps => 60);
while(1) { # Main game loop
    # Do game related stuff

    $fps->delay;
}

DESCRIPTION

SDLx::FPS simplifies the task of giving your game a framerate. Basically, it combines the methods of SDL::GFX::Framerate and SDL::GFX::FPSManager into a single module. Use it to delay the main loop to keep it at a specified framerate.

METHODS

new

my $fps = SDLx::FPS->new(
    fps => 30, framecount => 0, rateticks => 0, lastticks => 0, rate => 0
);

The constructor takes a hash with 5 possible arguments as shown. No arguments are required, if no fps is specified, the default FPS is 30.

framecount, rateticks, lastticks and rate correspond to the 4 arguments given to SDL::GFX::FPSManager-new>.

init

Same as SDL::GFX::Framerate::init. Initialize the framerate manager, set default framerate of 30Hz and reset delay interpolation. You don't need to call this; new does it for you.

set

$fps->set($new_framerate);

Same as SDL::GFX::Framerate::set. Set the new desired framerate.

get

Same as SDL::GFX::Framerate::get. Get the currently set framerate.

delay

Same as SDL::GFX::Framerate::delay. Generate a delay to accommodate currently set framerate. Call once in the graphics/rendering loop. If the computer cannot keep up with the rate (i.e. drawing too slow), the delay is 0 and the delay interpolation is reset.

framecount

Return the framecount.

rateticks

Return the rateticks.

lastticks

Return the lastticks.

rate

Return the rate.

AUTHORS

See "AUTHORS" in SDL.

SEE ALSO

SDL::GFX::Framerate, SDL::GFX::FPSManager