Zaloguj się, aby obserwować  
Obserwujący 0
shout

SDL2 keyPressed

1 post w tym temacie

Witam!

Mój problem polega na tym, że mam klasę inputManger w której są metody : KeyPressed(int key), KeyReleased(int key), które wyglądają następująco:

bool InputManager::KeyPressed(int key)
{
    if (event.key.state == SDL_PRESSED && event.key.repeat == 0)
    {
        if (event.key.keysym.sym == key )
        {
            return true;
        }    
    }
    return false;
}

bool InputManager::KeyReleased(int key)
{
    if (event.key.state == SDL_RELEASED  && event.key.repeat == 0)
    {
        if (event.key.keysym.sym == key)
        {
            return true;
        }
    }
    return false;
}

Mam też 2 klasy, które wyświetlają obraz. W każdej z nich jest metoda Update(), która sprawdza czy przycisk jest wciśnięty (np. esc), jeśli tak zmieni obrazek z klasy1, na obrazek z klasy2.

Problem polega na tym, że gdy przytrzymam esc obrazki będą się ciągle zmieniać między sobą (22 razy dla każdej klasy). Chciałbym zrobić to w ten sposób, że gdy przycisnę i przytrzymam esc wtedy z klasy1 zmieni się na klase2 i zatrzyma, i dopiero wtedy kiedy puszczę i przycisnę ponownie zmieni się na klase1. Tutaj może filmik jak to wygląda :
Pozdrawiam

 

2017-06-09 15-58-59.mp4

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować  
Obserwujący 0