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

[Allegro 4] Zmiana FPS w locie - timery

Ostatnio zmodyfikowano 2015-04-12 18:04
Autor Wiadomość
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():

C/C++
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;
           
        }
        // FPS->
        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++;
        // <-FPS
    }
   
    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.
P-130661
« 1 »
  Strona 1 z 1