Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- use Carp;
- use SDL;
- use SDLx::App;
- use SDL::Event;
- use SDL::Events;
- use SDL::Image;
- use SDL::Audio;
- use SDL::Mixer;
- use SDLx::Sprite;
- use SDLx::Sprite::Animated;
- use SDL::Mixer::Samples;
- use SDL::Mixer::Channels;
- use SDL::Mixer::Music;
- my $app=SDLx::App->new(
- w=>500,
- h=>500,
- title=>'Moving Sprite'
- );
- my $quit=0;
- my $laser=20;
- my $laser_y=25;
- my $fire=0;
- my $e_x=100;
- my $e_y=50;
- #positions
- my $pos_y=15;
- my $pos_x=5;
- my $ex=SDL::Rect->new($e_x,$e_y,20,20);
- my $dt=15;
- my $rect=SDL::Rect->new(0,0,50,50);
- my $sprite = SDLx::Sprite::Animated->new(width=>100,height=>120);
- $sprite->load("man.png");
- #$sprite->ticks_per_frame(1);
- sub get_events{
- my $event=SDL::Event->new();
- #$event->set_key_repeat(10,10);
- SDL::Events::pump_events();
- while(SDL::Events::poll_event($event)){
- $quit=1 if $event->type==SDL_QUIT;
- if($event->type==SDL_KEYDOWN){
- if($event->key_sym==SDLK_RIGHT){
- print "RIGHT!\n";
- $sprite->next;
- last;
- }elsif($event->key_sym==SDLK_SPACE){
- $sprite->stop;
- $sprite->reset;
- }
- }
- }
- }
- sub render{
- $sprite->draw($app);
- $app->update();
- SDL::Video::update_rects($app,$sprite->rect);
- }
- while(!$quit){
- get_events();
- render();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement