Migająca animacja postaci w grze

0

Witam,
mam problem z animowaniem postaci w malej grze, ktora tworze.

Problem polega na tym, ze stworzylem wlasna procedure DoDraw:

procedure TGracz.DoDraw;
begin
inherited DoDraw;
                                //67          //88
image.Draw(Form1.DXDraw.Surface, round(X), round(Y+50-88),round(animpos));

end;

Animpos to klatka animacji, jaka ma sie wyswietlic.

Przy tworzeniu Formy daje takie cos:

Gracz.Image := Form1.obrazki.Items.find('wPrawo');
Gracz.AnimLooped:=true; //pętla wykonywania animacji
Gracz.AnimCount:= 10;  //liczba klatek
Gracz.AnimSpeed:=0.5; //prędkość przekładania klatek

Wszystko działa super z jednym wyjątkiem. Jeżeli w procedurze DoDraw dam na początku inherited DoDraw;, wtedy postać rysowana jest dwa razy. To nie jest problem bo wiem z czego to wynika. Problemem jest raczej efekt.

Postac rysowana i animowana przez moja procedure miga za kazdym razem kiedy animacja rozpoczyna sie od nowa. Postac zas tworzona z klasy dziedziczonej plynnie przechodzi od konca do poczatku animacji.

Mozecie mi podpowiedziec w czym moze byc problem?

0

Problem rozwiązany :)

Zamiast:

round(animpos);

powinno być:

 trunc(animpos);

1 użytkowników online, w tym zalogowanych: 0, gości: 1