Autor Wątek: Błąd z podskokiem  (Przeczytany 760 razy)

Offline malpka321

  • Użytkownik

# Styczeń 25, 2009, 19:17:00
Witam. Mam problem.
Podczas podskoku obiekt ludzik przesuwa się 15 jednostek do góry.
Jednakże zamiast robić to co 1 jednostkę od razu obrazek przeskakuje o te 15.
Niżej umieszczam mój kod.
http://nopaste.gamedev.pl?&id=3288
jak zrobić aby podczas podskoku przemieszczał się po kolei o tą 1 jednostkę.
Z góry dziękuje

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline cybek

  • Użytkownik
    • Strona domowa!

# Styczeń 25, 2009, 21:53:15
Nie jestem pewien czy dobrze zrozumiałem ten kod, jednak nie widze nigdzie ograniczenia prędkości pętli.
Chyba że to "install_int_ex", no ale 10ms to raczej za mało trochę.
Polecam schemat oddzielenie fizyki od grafiki na tej zasadzie:

float interval=1000.0f/60.0f; // 1000ms = 1 sekunda, 60 = 60 fpsów
float akumulator=0.0f;
int time=akt_czas(); // tu podstawiasz jakąś funkcję pobrania czasu, ew. czasu od uruchomienia, itp.
while( !key[KEY_ESC] )
{
    akumulator+=akt_czas()-time; // dodaje do akumulatora czas od wykonania klatki
    time=akt_czas();
    while(akumulator >= interval) // jeśli czas aby wykonać klatkę fizyki
    {
        akumulator-=interval; // klatka gotowa, odliczaj do następnej
        wykonaj_fizykę();
    }
    rysuj_grafikę();
}
Mam nadzieje, że trochę pomogłem. Nie piszę w allegro, dlatego dokładnie funkcji ci nie podam.
Pozdro