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

[SFML 2.1] Sterowanie kilkoma klawiszami

Ostatnio zmodyfikowano 2013-12-18 09:26
Autor Wiadomość
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ę:
C/C++
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.
P-99439
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).
P-99448
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.
P-99458
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 ) )
P-99556
« 1 »
  Strona 1 z 1