Personal tools

SDLInit.pl

From OrganicDesign Wiki

Jump to: navigation, search
# Not done yet
 
# Interface requirements
use SWF::Builder;	# PPM Install: SWF-Builder
use Image::Magick;	# ImageMagick-6.2.3-0-Q16-windows-dll.exe
use SDL;			# ppm install http://www.broadwell.org/dl/ppm/5.8/win32/SDL_perl.ppd
use SDL::App;
use SDL::Constants;
use SDL::Surface;
use SDL::Rect;
use SDL::OpenGL;
use SDL::Event;
use SDL::Cursor;
 
my $menu = new SDL::Surface -name => 'data/menu.png';
my $app = new SDL::App -w => $menu->width(), -h => $menu->height(), -resizeable => 1;
my $hilight = new SDL::Surface -name => 'data/highlight.png';
my %menu = (
	start       => [ 115, 30, 160, 40 ],
	help        => [ 120, 100, 120, 40 ],
	giveup      => [ 120, 230, 120, 40 ],
	spawnserver => [ 115, 170, 165, 40 ], 
	credits     => [ 115, 285, 160, 40 ],
	);
 
my %events = (
	SDL_MOUSEMOTION() =>  sub {
		my ($e) = @_;
		drawMenu($app,
			 $e->motion_x(),
			 $e->motion_y(),
			 $menu,
			 $hilight,
			 %menu);
		},
	SDL_MOUSEBUTTONUP() => sub {
		my ($e) = @_;
		my $routine = drawMenu($app,
			 $e->motion_x(),
			 $e->motion_y(),
			 $menu,
			 $hilight,
			 %menu);
		&{$routine} if ($routine);
		},
	SDL_QUIT() => sub { exit(0); },
	SDL_KEYDOWN() => sub { 
		my ($e) = @_;
		exit(0) if ($e->key_sym() == SDLK_ESCAPE);
		},
	);
}

The GNU Project Debian Linux Ubuntu Linux Wikipedia online encycopedia MediaWiki