[Allegro 4.2] Sprawdzanie czy nie jest wciśnięty żaden klawisz
Ostatnio zmodyfikowano 2015-02-14 20:28
Brunon3 Temat założony przez niniejszego użytkownika |
[Allegro 4.2] Sprawdzanie czy nie jest wciśnięty żaden klawisz » 2015-02-14 15:16:12 Witam. Piszę małą gierkę i potrzebuję wiedzieć jak zrobić w bibliotece Allegro 4.2 sprawdzenie czy żaden klawisz nie jest wciśnięty. if( !key[ KEY_ ??? ] )[...];
Pozdrawiam. |
|
maly |
» 2015-02-14 17:01:57 keypressed()? |
|
Brunon3 Temat założony przez niniejszego użytkownika |
» 2015-02-14 19:48:40 Ehh... No więc dlaczego to nie działa? if( textOn ) { if( key[ KEY_RSHIFT ] || key[ KEY_LSHIFT ] ) { if( key[ KEY_Q ] ) { text = text + "Q"; textOn = false; } if( key[ KEY_W ] ) text = text + "W"; if( key[ KEY_E ] ) text = text + "E"; if( key[ KEY_R ] ) text = text + "R"; if( key[ KEY_T ] ) text = text + "T"; if( key[ KEY_Y ] ) text = text + "Y"; if( key[ KEY_U ] ) text = text + "U"; if( key[ KEY_I ] ) text = text + "I"; if( key[ KEY_O ] ) text = text + "O"; if( key[ KEY_P ] ) text = text + "P"; if( key[ KEY_A ] ) text = text + "A"; if( key[ KEY_S ] ) text = text + "S"; if( key[ KEY_D ] ) text = text + "D"; if( key[ KEY_F ] ) text = text + "F"; if( key[ KEY_G ] ) text = text + "G"; if( key[ KEY_H ] ) text = text + "H"; if( key[ KEY_J ] ) text = text + "J"; if( key[ KEY_K ] ) text = text + "K"; if( key[ KEY_L ] ) text = text + "L"; if( key[ KEY_Z ] ) text = text + "Z"; if( key[ KEY_X ] ) text = text + "X"; if( key[ KEY_C ] ) text = text + "C"; if( key[ KEY_V ] ) text = text + "V"; if( key[ KEY_B ] ) text = text + "B"; if( key[ KEY_N ] ) text = text + "N"; if( key[ KEY_M ] ) text = text + "M"; } else { if( key[ KEY_Q ] ) { text = text + "q"; textOn = false; } if( key[ KEY_W ] ) text = text + "w"; if( key[ KEY_E ] ) text = text + "e"; if( key[ KEY_R ] ) text = text + "r"; if( key[ KEY_T ] ) text = text + "t"; if( key[ KEY_Y ] ) text = text + "y"; if( key[ KEY_U ] ) text = text + "u"; if( key[ KEY_I ] ) text = text + "i"; if( key[ KEY_O ] ) text = text + "o"; if( key[ KEY_P ] ) text = text + "p"; if( key[ KEY_A ] ) text = text + "a"; if( key[ KEY_S ] ) text = text + "s"; if( key[ KEY_D ] ) text = text + "d"; if( key[ KEY_F ] ) text = text + "f"; if( key[ KEY_G ] ) text = text + "g"; if( key[ KEY_H ] ) text = text + "h"; if( key[ KEY_J ] ) text = text + "j"; if( key[ KEY_K ] ) text = text + "k"; if( key[ KEY_L ] ) text = text + "l"; if( key[ KEY_Z ] ) text = text + "z"; if( key[ KEY_X ] ) text = text + "x"; if( key[ KEY_C ] ) text = text + "c"; if( key[ KEY_V ] ) text = text + "v"; if( key[ KEY_B ] ) text = text + "b"; if( key[ KEY_N ] ) text = text + "n"; if( key[ KEY_M ] ) text = text + "m"; } if( keypressed() == false ) textOn = true; if( key[ KEY_BACKSPACE ] || key[ KEY_DEL ] ) text.erase(); }
|
|
maly |
» 2015-02-14 20:03:33 |
|
Gabes |
» 2015-02-14 20:22:53 |
|
Brunon3 Temat założony przez niniejszego użytkownika |
» 2015-02-14 20:28:42 Hm.. Czy mogę prosić o przykład użycia tego po polsku? Najlepiej jakby ktoś z Was podał kawałek kodu z użyciem tego. ;) EDIT: Nie zrozumiałem Text Input, więc napisałem to po swojemu. Wklejam kod bo może komuś kiedyś się przyda. ;) void App::readKey( std::string & text, bool ON ) { if( textOn && ON ) { if( key[ KEY_Q ] ) { text = text + "Q"; textOn = false; } if( key[ KEY_W ] ) { text = text + "W"; textOn = false; } if( key[ KEY_E ] ) { text = text + "E"; textOn = false; } if( key[ KEY_R ] ) { text = text + "R"; textOn = false; } if( key[ KEY_T ] ) { text = text + "T"; textOn = false; } if( key[ KEY_Y ] ) { text = text + "Y"; textOn = false; } if( key[ KEY_U ] ) { text = text + "U"; textOn = false; } if( key[ KEY_I ] ) { text = text + "I"; textOn = false; } if( key[ KEY_O ] ) { text = text + "O"; textOn = false; } if( key[ KEY_P ] ) { text = text + "P"; textOn = false; } if( key[ KEY_A ] ) { text = text + "A"; textOn = false; } if( key[ KEY_S ] ) { text = text + "S"; textOn = false; } if( key[ KEY_D ] ) { text = text + "D"; textOn = false; } if( key[ KEY_F ] ) { text = text + "F"; textOn = false; } if( key[ KEY_G ] ) { text = text + "G"; textOn = false; } if( key[ KEY_H ] ) { text = text + "H"; textOn = false; } if( key[ KEY_J ] ) { text = text + "J"; textOn = false; } if( key[ KEY_K ] ) { text = text + "K"; textOn = false; } if( key[ KEY_L ] ) { text = text + "L"; textOn = false; } if( key[ KEY_Z ] ) { text = text + "Z"; textOn = false; } if( key[ KEY_X ] ) { text = text + "X"; textOn = false; } if( key[ KEY_C ] ) { text = text + "C"; textOn = false; } if( key[ KEY_V ] ) { text = text + "V"; textOn = false; } if( key[ KEY_B ] ) { text = text + "B"; textOn = false; } if( key[ KEY_N ] ) { text = text + "N"; textOn = false; } if( key[ KEY_M ] ) { text = text + "M"; textOn = false; } } if( key[ KEY_SPACE ] && textOn ) { text = text + " "; textOn = false; } if( !key[ KEY_SPACE ] && !key[ KEY_Q ] && !key[ KEY_W ] && !key[ KEY_E ] && !key[ KEY_R ] && !key[ KEY_T ] && !key[ KEY_Y ] && !key[ KEY_U ] && !key[ KEY_I ] && !key[ KEY_O ] && !key[ KEY_P ] && !key[ KEY_A ] && !key[ KEY_S ] && !key[ KEY_D ] && !key[ KEY_F ] && !key[ KEY_G ] && !key[ KEY_H ] && !key[ KEY_J ] && !key[ KEY_K ] && !key[ KEY_L ] && !key[ KEY_Z ] && !key[ KEY_X ] && !key[ KEY_C ] && !key[ KEY_V ] && !key[ KEY_B ] && !key[ KEY_N ] && !key[ KEY_M ] ) textOn = true; if( key[ KEY_BACKSPACE ] || key[ KEY_DEL ] ) { text.erase(); } }
Wiem że jest to bardzo amatorski kod, wiem również że po kliknięciu Backspace/Del usuwa się cały string, a nie tylko ostatnia litera, ale nie umiem tego obejść. ;) Pozdrawiam. |
|
« 1 » |