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

[Allegro 4.x] Pauza w grze

Ostatnio zmodyfikowano 2015-05-25 14:56
Autor Wiadomość
racmo
Temat założony przez niniejszego użytkownika
[Allegro 4.x] Pauza w grze
» 2015-05-21 21:01:17
Dzień dobry! Mam pewien problem z napisaniem pauzy w mojej grze. Pauza działa jednak nie zawsze tak jak powinna, otóż czasami po kliknięciu ALT program zatrzymuje się na około sekundę a następnie leci dalej a czasami w ogóle nie reaguje na kliknięcie ALT.

C/C++
if( key[ KEY_ALT ] ) pause = true;

while( pause )
{
   
    rest( 100 );
    textprintf( screen, myFont, 400, 260, makecol( 255, 255, 255 ), "PAUSE" );
    if( key[ KEY_ALT ] ) { pause = false; break; }
   
}


Początkowa wartość pause=false
Czym może być to spowodowane i jak to poprawić?
Z góry dziękuję za pomoc :)

P-132583
colorgreen19
» 2015-05-25 00:27:54
To co podałeś jest w pętli? Daj więcej kodu
P-132731
SeaMonster131
» 2015-05-25 12:59:12
Więcej kodu niepotrzebne. Zrób tak, aby tylko raz można było nacisnąć klawisz i dopiero po jego puszczeniu można było nacisnąć kolejny raz.
P-132738
racmo
Temat założony przez niniejszego użytkownika
» 2015-05-25 14:56:34
Dziękuję za podpowiedź :-)
Teraz mój kod wygląda tak i działa poprawnie:

C/C++
if( key[ KEY_ALT ] ) pause = true; //pauza

while( key[ KEY_ALT ] ) rest( 1 ); //Alt jest wciśnięty, czekaj, aż zdejmie

while( pause )
{
   
    rest( 100 );
    textprintf( screen, myFont, 400, 260, makecol( 255, 255, 255 ), "PAUSE" );
    if( key[ KEY_ALT ] ) pause = false;
   
    while( key[ KEY_ALT ] ) rest( 1 );
   
}
P-132740
« 1 »
  Strona 1 z 1