Blokada wielokrotnego kliknięcia
Ostatnio zmodyfikowano 2016-11-20 14:45
iGhost Temat założony przez niniejszego użytkownika |
Blokada wielokrotnego kliknięcia » 2016-11-19 17:25:53 Witam Napisałem gre na dwie osoby. Gracze poruszają sie WSAD lub strzałkami. Problem jest w tym, że chciałbym, żeby postac wykonała ruch wyłącznie po pojedynczym kliknięciu, a nie reagowała na przytrzymanie klawisza. |
|
michal11 |
» 2016-11-19 17:52:12 Moja magiczna kula podpowiada mi, że wystarczy: if( oneClick() ) { character.move(); }
A tak serio to jak myślisz skąd may widzieć jak ci pomóc skoro nie napisałś ani jakiej biblioteki używasz, jak teraz wykonujesz ruch, jak obsługujesz klawiaturę? |
|
mateczek |
» 2016-11-20 14:39:27 Zobacz takie z winApi // choć to raczej ciekawostka bo biblioteki mają zdarzenia które można lepiej i wygodniej obsłużyć !!! #include<iostream> #include<windows.h> using namespace std; int main() { bool memory = false; bool klawisz_w, impuls; while( true ) { klawisz_w =( GetKeyState( 0x57 ) & 0x8000 ); impuls =( klawisz_w ) &&( !memory ); memory = klawisz_w; if( impuls ) cout << "klik "; } } |
|
iGhost Temat założony przez niniejszego użytkownika |
» 2016-11-20 14:45:40 Użyłem funkcje if( kbhit() ) oraz switch case Funkcja sterowania wygląda w ten sposób switch( Kierunek ) { case 119: ZmienPozycjeKursora( Waz ); cout << " "; if( Waz.Y != 1 ) { Waz.Y -= 1; } ZmienPozycjeKursora( Waz ); cout << "O";
|
|
« 1 » |