[Allegro5] Wpisywanie tekstu z klawiatury
Ostatnio zmodyfikowano 2014-03-22 17:04
marianekA Temat założony przez niniejszego użytkownika |
[Allegro5] Wpisywanie tekstu z klawiatury » 2014-03-22 17:04:52 Witam, robię okienko do wpisywania tekstu i nie wiem jak zrobić by trzymając wciśnięty klawisz uzyskać pauzę między pierwszym znakiem a powtarzanymi, tak jak edytorze tego postu. Chciałbym pozbyć się 'al_rest()'. string im = "", zz = ""; int kod = 0, st = 0; char c = 0; while( !al_key_down( & klawiatura, ALLEGRO_KEY_ESCAPE ) ) { al_get_keyboard_state( & klawiatura ); al_get_next_event( event_queue, & ev ); kod = ev.keyboard.unichar; c = kod; if( kod > 31 && kod < 123 ) im = im + c; if( kod == 261 ) zz = "ą"; if( kod == 281 ) zz = "ę"; if( kod == 263 ) zz = "ć"; if( kod == 321 ) zz = "Ł"; if( kod == 322 ) zz = "ł"; if( kod == 324 ) zz = "ń"; if( kod == 243 ) zz = "ó"; if( kod == 346 ) zz = "Ś"; if( kod == 347 ) zz = "ś"; if( kod == 379 ) zz = "Ż"; if( kod == 380 ) zz = "ż"; if( kod == 378 ) zz = "ź"; if( kod > 200 ) im = im + zz; if( kod == 8 && im.size() > 0 ) im.resize( im.size() - 1 ); al_draw_textf( f18, k2, x + 5, y, 0, "%s", im.c_str() ); ++b; if( b > 10 ) b = 0; if( b < 5 ) al_draw_textf( f18, k2, x + 5 + st, y - 1, 0, "_" ); st = al_get_text_width( f18, im.c_str() ); al_flip_display(); al_rest( 0.1 ); al_draw_filled_rectangle( x + 1, y + 1, x + h, y + 20, k5 ); if( kod == 13 && im != "" ) break; }
. Nie udało mi się rozwiązać tego problemu...jestem jeszcze za cienki, nikt pomysłu też nie miał więc temat zamykam. |
|
« 1 » |