[SFML 2.1] Problem z ruchem wykonywanym w pewnym okresie czasu.
Ostatnio zmodyfikowano 2014-05-14 17:58
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 ;) |
|
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 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 |
|
MrPoxipol |
» 2014-05-14 17:58:26 Najwygodniej użyć jakiegoś Tweenera. Ew samemu napisać interpolacje liniową. |
|
« 1 » |