[SFML, C++] Błąd w poruszaniu się obiektu (węża)
Ostatnio zmodyfikowano 2011-07-09 19:48
Handy90 Temat założony przez niniejszego użytkownika |
[SFML, C++] Błąd w poruszaniu się obiektu (węża) » 2011-07-09 19:19:18 Siemka, jest taki problem, że "blokują" się klawisze a dokładnie jeśli idę w lewo i szybko nacisnę np. strzałkę w górę i w prawo to snejk się niby zderza z ciałem. Kod gry jest na stronie http://wiecznywem.co.cc/, autor i ja nie możemy tego rozgryźć. |
|
DejaVu |
» 2011-07-09 19:48:27 while( window.GetEvent( Event ) ) { if( Event.Type == sf::Event::Closed ) window.Close(); if(( Event.Type == sf::Event::KeyPressed ) &&( Event.Key.Code == sf::Key::Escape ) ) window.Close(); snake.checkDirection( Event ); }
Jeżeli naciśniesz szybko dwa klawisze to przyjdą dwa Eventy, tj. strzałka w górę, a potem w prawo. W konsekwencji event strzałki w górę zostanie nadpisany w wywołaniu:
snake.checkDirection( Event );
Powinieneś zapisać sobie wciśnięty klawisz i dopiero za tą pętlą while ustawić nowy kierunek. |
|
« 1 » |