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

[ALLEGRO C++] Rozpoznanie klawiszy

Ostatnio zmodyfikowano 2013-02-18 13:01
Autor Wiadomość
tompibed
Temat założony przez niniejszego użytkownika
[ALLEGRO C++] Rozpoznanie klawiszy
» 2013-02-18 11:05:15
Witam, mam problem z rozpoznaniem czy został naciśnięty jakiś klawisz, w wersji Allegro 4.x jest to funkcja keypressed(), lecz w Allegro 5 nie mam pojęcia co robię źle. Proszę o pomoc. nie może funkcja wyjść z pętli, a powinna gdy zostanie naciśnięty kawisz '1'. Funkcja rozpoznająca oraz wyświetlająca znak jaki został naciśnięty wygląda tak:
C/C++
void wczytaj()
{
    wyraz.clear();
    string::iterator iter = wyraz.begin();
    int caret = 0;
    bool insert = true;
    do {
        while( ev.type == ALLEGRO_EVENT_KEY_DOWN )
        {
            int unichar = ev.keyboard.unichar;
            char ASCII = unichar & 0xff;
            char scancode = unichar >> 8;
            if( ev.keyboard.keycode >= 1 && ev.keyboard.keycode <= 36 )
            {
                if( insert || iter == wyraz.end() )
                     iter = wyraz.insert( iter, ASCII );
                else
                     wyraz.replace( caret, 1, 1, ASCII );
               
                caret++;
                iter++;
            }
            else
            switch( scancode )
            {
            case ALLEGRO_KEY_BACKSPACE:
                if( iter != wyraz.begin() )
                {
                    caret--;
                    iter--;
                    iter = wyraz.erase( iter );
                }
                break;
               
            }
        }
        cout << wyraz.c_str();
        //al_draw_textf(font40,al_map_rgb(255,255,255),300,300,0,"%s",wyraz.c_str());
    } while( !ev.keyboard.keycode == 1 );
   
}
P-76481
tompibed
Temat założony przez niniejszego użytkownika
» 2013-02-18 13:01:11
Dokładnie chodzi o tą linijkę (tak mi się wydaje przynajmniej), żeby było oczekiwanie na klawisz.

while( ev.type == ALLEGRO_EVENT_KEY_DOWN )
P-76484
« 1 »
  Strona 1 z 1