[SFML 2.1] Sterowanie kilkoma klawiszami
Ostatnio zmodyfikowano 2013-12-18 09:26
Piotr020798 Temat założony przez niniejszego użytkownika |
[SFML 2.1] Sterowanie kilkoma klawiszami » 2013-12-17 16:49:50 Witam. Mój problem jest następujący: Piszę prostą grę 2D w SFML 2.1, jednak mam problem ze sterowaniem, gdy wciskam równocześnie strzałkę w dół i w prawo to wszystko jest jest dobrze (postać idzie po skosie) do momentu, aż puszcze któryś z klawiszy, następnie jeżeli wcisnę jeszcze jakiś klawisz to ten 1 (cały czas wciśnięty) znowu działa. Do obsługi klawiatury używam sf::Keyboard::isKeyPressed. Proszę o pomoc. Męczę się już z tym trzeci dzień. Kod jakim się posługuję: if( Keyboard::isKeyPressed( sterowanie.sterGora() ) ) { pozycja_kopia.y -= predkosc; } if( Keyboard::isKeyPressed( sterowanie.sterDol() ) ) { pozycja_kopia.y += predkosc; } if( Keyboard::isKeyPressed( sterowanie.sterLewo() ) ) { pozycja_kopia.x -= predkosc; } if( Keyboard::isKeyPressed( sterowanie.sterPrawo() ) ) { pozycja_kopia.x += predkosc; }
Gdzie sterowanie.sterGora() odpowiada po prostu sf::Keyboard::Key::Up itd. |
|
MrPoxipol |
» 2013-12-17 17:45:36 Do płynnego ruchu nie używa się ::isKeyPressed(). Szczegóły na stronie autora biblioteki (tutorial o zdarzeniach). |
|
Piotr020798 Temat założony przez niniejszego użytkownika |
» 2013-12-17 18:06:03 Gdy używam sf::Event:KeyPressed to działa tylko jeden klawisz.
|
|
Piotr020798 Temat założony przez niniejszego użytkownika |
» 2013-12-18 09:26:44 Udało mi się to naprawić, wystarczyło wyciągnąć wszystkie sf::Keyboard::isKeyPressed() poza pętle while( oknoAplikacji.pollEvent( zdarzenie ) ) |
|
« 1 » |