Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML, C++] Błąd w poruszaniu się obiektu (węża)

Ostatnio zmodyfikowano 2011-07-09 19:48
Autor Wiadomość
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źć.
P-35646
DejaVu
» 2011-07-09 19:48:27
C/C++
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 ); //sprawdz w którym kierunku ma się poruszać wąż
}
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:
C/C++
snake.checkDirection( Event );
Powinieneś zapisać sobie wciśnięty klawisz i dopiero za tą pętlą while ustawić nowy kierunek.
P-35656
« 1 »
  Strona 1 z 1