[Allegro 4] Zmiana FPS w locie - timery
Ostatnio zmodyfikowano 2015-04-12 18:04
Brunon3 Temat założony przez niniejszego użytkownika |
[Allegro 4] Zmiana FPS w locie - timery » 2015-04-12 18:04:28 Witam. Sorry że zakładam tak temat po temacie i do tego o tej samej tematyce, ale tak jakoś wyszło. :) Problem: Chcę zrobić w opcjach gry zmianę fps'ów (60 lub 100), i kompletnie nie wiem jak się za to zabrać, z uwagi że liczba tick'ów na sekundę musi być stała. Kod game(): void game() { install_timer(); install_int( increment_speed, 10 ); install_int_ex( increment_speed, BPS_TO_TIMER( 60 ) ); install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" ); set_volume( 255, 255 ); set_display_switch_mode( SWITCH_BACKGROUND ); install_int_ex( game_time_ticker, BPS_TO_TIMER( 10 ) ); Start(); play_sample( music, 255, 127, 750, 1 ); int frames_done = 0; int old_time = 0; while( run ) { while( speed == 0 && run ) { rest( 1 ); if( key[ KEY_ESC ] ) run = false; } while( speed > 0 && run ) { int old_speed = speed; Update(); speed--; if( old_speed <= speed ) break; } if( game_time - old_time >= 10 && run ) { fps = frames_done; frames_done = 0; old_time = game_time; if( key[ KEY_ESC ] ) run = false; } frames_done++; } stop_sample( music ); destroy_sample( music ); allegro_exit(); } Pytanie: Jak się za to zabrać? Proszę o przydatne linki, słowa kluczowe, cytaty i wytłumaczenia. ;) Pozdrawiam. EDIT: Sorry za spam, problem rozwiązany, liczba wymuszanych fps nie musi być stałą, nie wiem skąd mi się to wzięło. :/ Pozdrawiam. -BD. |
|
« 1 » |