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
Blaise Roth, <blaiseroth@gmail.com>