[Allegro4] Program wyświetlający aktualnie wciśnięty klawisz
Ostatnio zmodyfikowano 2013-05-07 20:10
raven_raven Temat założony przez niniejszego użytkownika |
[Allegro4] Program wyświetlający aktualnie wciśnięty klawisz » 2013-05-07 18:45:19 Chciałem napisać prosty program, który wyświetlałby kod aktualnie wciśniętego klawisza (idealnie to w ogóle jego nazwę, ale nie umiem tego kodu przetłumaczyć na nazwę). Mam coś takiego: int klawisz = 0;
while( !key[ KEY_ESC ] ) { clear_keybuf(); klawisz = readkey(); clear_to_color( screen, makecol( 0, 0, 0 ) ); textprintf( screen, font, 240, 240, makecol( 255, 255, 128 ), "Klawisz to : %d", klawisz ); } Problem w tym, że kiedy puszczę klawisz, na ekranie wciąż wyświetlany jest komunikat o poprzednim klawiszu. Jak zrobić, by po puszczeniu klawisza komunikat znikał? |
|
pekfos |
» 2013-05-07 19:11:03 if( keypressed() ) k = readkey(); else k = 0; |
|
raven_raven Temat założony przez niniejszego użytkownika |
» 2013-05-07 19:13:40 Niestety, ale to rozwiązanie skutkuje wyświetlaniem ciągle zera, tak jakby warunek keypressed nigdy nie był spełniony. Czy to nie jest jakaś niekompatybilność biblioteki z Windowsem 7 czy coś takiego? |
|
pekfos |
» 2013-05-07 19:14:54 A próbowałeś przytrzymać klawisz? |
|
raven_raven Temat założony przez niniejszego użytkownika |
» 2013-05-07 19:20:20 Tak, przytrzymanie skutkuje bardzo szybkim wyświetlaniem naprzemian zera i kodu klawisza, przy czym zero dużo częściej się wybija ponad kod klawisza. |
|
pekfos |
» 2013-05-07 19:24:13 Spróbuj użyć funkcji poll_keyboard() zamiast readkey() (kod z pierwszego postu). |
|
raven_raven Temat założony przez niniejszego użytkownika |
» 2013-05-07 19:31:10 klawisz = poll_keyboard() ? Ta funkcja zwraca 0 w przypadku pomyślnego wykonania... |
|
pekfos |
» 2013-05-07 19:32:32 |
|
« 1 » 2 |