Skocz do zawartości

Recommended Posts

Napisano

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...