Skocz do zawartości


[DelphiX] Migająca animacja postaci w grze

delphix

1 odpowiedź w tym temacie

#1 Mlody87

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano wto, 21 paź 2014 - 18:12

Hej!
Są tu jeszcze jacyś fani DelphiX? :) Mam mały problem :)

Problem polega na tym, ze stworzylem wlasna procedure DoDraw:

delphi
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:
delphi
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?

#2 Mlody87

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano wto, 21 paź 2014 - 19:12

Problem rozwiązany :)

Zamiast:
delphi
round(animpos);


powinno być:

delphi
trunc(animpos);