Kamil9132 Temat założony przez niniejszego użytkownika |
» 2011-10-23 13:35:11 Chyba wiem co jest nie tak w tym kodzie. Gdy naciskam enter to wartość menug zmienia się na 2, ale dalej w kodzie jest że po naciśnięciu enter wartość zmienia się na 0. Jaką funkcją wyczyścić bufor klawisza? Próbowałem użyć clear_keybuf, ale nie działa. |
|
Gabes |
» 2011-10-23 13:45:56 Zrobiłem część ale całkiem inaczej:
#include <allegro.h>
int main() { allegro_init(); install_keyboard(); set_color_depth( 16 ); set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0 ); BITMAP * bufor = create_bitmap( 640, 480 ); bool wyjdz = false, menu = true, start = false, tak = true, nie = true; int kol_st = 255, kol_wyj = - 1; while( !( key[ KEY_ENTER ] && wyjdz == true ) ) { clear_to_color( bufor, makecol( 10, 10, 10 ) ); if( menu == true and start == false ) { textprintf_ex( bufor, font, 200, 100, makecol( 255, 255, 255 ), kol_st, "Start" ), textprintf_ex( bufor, font, 200, 120, makecol( 255, 255, 255 ), kol_wyj, "Wyjdz z gry" ); if( key[ KEY_UP ] ) { wyjdz = false, kol_st = 255, kol_wyj = - 1; } if( key[ KEY_DOWN ] ) { wyjdz = true; kol_wyj = 255, kol_st = - 1; } } if( menu == false ) { } blit( bufor, screen, 0, 0, 0, 0, 640, 480 ); } allegro_exit(); return 0; } END_OF_MAIN();
Dodawaj bufor. |
|
Kamil9132 Temat założony przez niniejszego użytkownika |
» 2011-10-23 14:39:29 Tylko w tym kodzie który podałeś po naciśnięciu strzałki w dół i entera program wychodzi, a mi chodzi żeby się jeszcze pytał np."Czy na pewno chcesz wyjść?". Tym kodem który podałeś rozwiązałeś mój drugi problem o którym nie napisałem - miganiu bufora(nie doczytałem że można też tekst tak wyświetlać). W tym moim kodzie po naciśnięciu entera wartość zmieniała się dwóch zmiennych, a powinna jednej. Mógłbyś mi jeszcze podać funkcję która czyści bufor klawisza? |
|
Kamil9132 Temat założony przez niniejszego użytkownika |
» 2011-10-23 21:10:42 Poradziłem sobie już z tym :) Wystarczyło użyć "key[KEY_ENTER]=false;". Temat do zamknięcia. |
|
1 « 2 » |