Jump to content

SDL - problem z obsługą klawiatury i myszki


Qbe

Recommended Posts

Jest możliwość ustawienia w SDLu tak obsługi myszki i klawiatury by reagowała tylko na wciśnięcie, a na "odciśnięcie"/odkliknięcie już nie?

 

Problem polega na tym, że mam ustawioną akcję na wciśnięcie klawisza:

if(keystate[SDLK_r])
       {
           if(program[1])
           {
           // obrót podczas rozmieszczania
           if(aktualny==GRACZ->maszt2[0]||aktualny==GRACZ->maszt2[1]||aktualny==GRACZ->maszt3[0])
           {
               if(aktualny->orientacja==1)
               aktualny->orientacja=0;
               else
               aktualny->orientacja=1;
               }
           }
       }

I działa to na zasadzie takiej, że jak wcisnę klawisz to się zmienia orientacja na "przeciwną", a gdy puszczę klawisz - wraca do początkowego.

 

Tak samo mam z obsługą myszki. Kliknę na jednym ekranie w "START" to przycisk wykonywana jest akcja w pierwszym ekranie, a gdy przycisk zwolnie to łapie mi już w następnym ekranie, gdzie w tym miejscu jest już plansza.

 

Nie mogę wpaść na pomysł jak można by to było obejść... Pomóżcie:)

Link to comment
Share on other sites

SDL_Event event;
while(SDL_PollEvent(&event))
{
if((keystate[SDLK_r])&&(event.type == SDL_KEYDOWN)){ } //?
}

:)

 

 

Dziękuje bardzo za pomoc. A jest też taki odpowiednik do kliknięcia myszką? Tak aby tylko wciśnięcie klawisza wykonywało akcję?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...