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

[SFML 1.6] Pozycjonowanie przemieszczanie Sprajta

Ostatnio zmodyfikowano 2012-07-23 13:29
Autor Wiadomość
wojownik266
Temat założony przez niniejszego użytkownika
[SFML 1.6] Pozycjonowanie przemieszczanie Sprajta
» 2012-07-23 10:21:47
Witam. Mamy dwa fragmęty programu, które robią to samo. Pierwszy fragment:

C/C++
poz.y -= 0.05;
Sprajt.SetPosition( poz.x, poz.y );

Drugi fragmęt:

C/C++
poz.y -= 0.05;
float ElapseTime = App.GetFrameTime();
Sprajt.Move( poz.x, poz.y * ElapsedTime );

Jak wspomniałem oba fragmęty programu robią to samo czyli skrolują Sprita od dołu do góry. Czy oba te programy są równowazne i mozna ich uzywać zamiennie? Albo kiedy używać funkcji pierwszej a rezygnować z drugiej?
P-60916
DejaVu
» 2012-07-23 12:42:36
Nie są zamienne. Poza tym jeżeli mnożysz tylko jedną współrzędną to prosisz się o problemy. Jeżeli mnożysz przemieszczenie razy czas jaki upłynął to 'gwarantujesz', że niezależnie od liczby wyświetlanych klatek, że obiekt po X sekundach będzie zawsze tak samo daleko. Jeżeli nie pomnożysz względem czasu jaki upłynął to mając 300 klatek na sekundę obiekt będzie kilkukrotnie dalej niż w przypadku gdy ktoś będzie posiadał 60 klatek.

PS. Mnoży się deltę przesunięcia obiektu, a nie położenie obiektu.
P-60928
wojownik266
Temat założony przez niniejszego użytkownika
» 2012-07-23 13:29:38
No i to własnie chciałem wiedzieć. Dziękuje!
P-60930
« 1 »
  Strona 1 z 1