Also habe ich eine Sprite-Animation mit SDL Perl erstellt, die gute Nachricht ist, dass das Sprite-Bild sich bewegt und die schlechte Nachricht ist, dass das bewegliche Sprite in einem 47x47 SDLx::Rect
nicht exakt ausgerichtet ist
Wie man ein Sprite-Bild in SDL Perl richtig bewegt
ich kann nicht wirklich erklären, was den Screenshot i
verwendet
Und hier ist das Sprite Bild so hier vor sich geht
Und schließlich mein Code:
use strict;
use warnings;
use SDLx::Sprite::Animated;
use SDL;
use SDLx::App;
use SDL::Rect;
my $anim = SDLx::Sprite::Animated->new(
image => "ex.png",
step_x => 47,
step_y => 1,
rect => SDL::Rect->new(0,0,47,47),
ticks_per_frame => 6,
type => "circular",
);
$anim->step_y(0);
$anim->start();
my $app = SDLx::App->new(dt=>0.02, exit_on_quit => 1, w=> 200, h => 200);
$app->add_show_handler(
sub{
my ($step,$app) = @_;
$app->draw_rect([0,0,$app->w,$app->h],0);
$anim->draw($app->surface);
$app->update();
$app->delay(2);
}
);
$app->run();
Ihre Hilfe benötigen, Dank!
Wenn du 0 in die 'step_y => 1 stellst, bekommst du einen Fehler 'Illegal division by zero', deshalb setze ich' $ anim-> step_y (0); 'so werde ich 52x52 versuchen und danke für die Antwort, schätze es :) – RickNMorty