Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.1] Problem z ruchem wykonywanym w pewnym okresie czasu.

Ostatnio zmodyfikowano 2014-05-14 17:58
Autor Wiadomość
jestemslepy
Temat założony przez niniejszego użytkownika
[SFML 2.1] Problem z ruchem wykonywanym w pewnym okresie czasu.
» 2014-05-14 17:12:06
Witam. Mam problem z przemieszczeniem który wykonywałby się np. 2 sekundy. Zakładając, że mamy taki przykład :

sprajt.move( 0,100 );

i chodzi mi o to, aby ten dystans 100 został wykonany przez mój "sprajt" w przeciągu 2 sekund. Kombinowałem wiele z klasami Time oraz Clock jednak nic nie potrafiłem z tego stworzyć. Czy mógłby ktoś podpowiedzieć jak to zrobić ? Czy w ogóle dobrze robię używając do tego klas z biblioteki SFML ?

PS. Chciałbym się jak najwięcej nauczyć więc nie koniecznie oczekuje gotowego kodu lecz tylko podpowiedzi ;)
P-109930
colorgreen19
» 2014-05-14 17:34:26
zrób pętle stałokrokową np robiąca się 100 razy na sekunde, potem oblicz współczynnik na podstawie tego ile ma się przesunąć i w jakim czasie i przesuwaj go o tą odległośc przez 2 sek
C/C++
sf::Time czas_przesuwania;
//.
czas_przesuwania += czas_z_petli_stalokrokowej;
if( czas_przesuwania >= sf::seconds( 2.f )
sprajt.move( 0, wspolczynnik )
np. współczynnik = odległość/czas_przesuwania/czas_z_pętli_stałokrokowej
P-109932
MrPoxipol
» 2014-05-14 17:58:26
Najwygodniej użyć jakiegoś Tweenera. Ew samemu napisać interpolacje liniową.
P-109935
« 1 »
  Strona 1 z 1