• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Poruszanie[SFML]

Cloud VPS
0 głosów
1,315 wizyt
pytanie zadane 26 lipca 2015 w C i C++ przez Linker Bywalec (2,690 p.)
zamknięte 26 lipca 2015 przez Linker
Witam. Zauważyłem dziwną rzecz. Nigdzie w programie nie ma nic o obsłudze myszki a podczas testowania programu podczs poruszania obiektem(góra, dół, lewo, prawo - strzałki) obiekt robi tyko 1 "krok" a później "jakby czekał na ruch myszki". Dlaczego tak się dzieje?
komentarz zamknięcia: Jest odpowiedź

1 odpowiedź

+1 głos
odpowiedź 26 lipca 2015 przez daan Pasjonat (17,640 p.)
wybrane 26 lipca 2015 przez Linker
 
Najlepsza

Klawisze obsługujesz pewnie w pętli zdarzen (window.pollEvent) w takim wypadku pętla się wykona dopiero gdy okno przyjmie jakieś zdarzenie np. ruch myszki lub ponowne nacisnięcie klawisza. Powinieneś użyć metody :

sf::Keyboard::isKeyPressed(sf::Keyboard::Key);

Oczywiście tą metode używa się poza wyżej wspomnianą pętlą zdarzeń, zwraca ona true jeżeli podany klawisz jest aktualnie wciśnięty. :) Przykład :

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        if(sf:Keyboard::isKeyPressed(sf::Keyboard::Right))
        {
                // tutaj przesuwasz postac
        }

        window.clear();
        window.display();
    }

    return 0;
}

 

komentarz 26 lipca 2015 przez Linker Bywalec (2,690 p.)
Dziękuję, wszystko działa. ;)

Podobne pytania

0 głosów
2 odpowiedzi 850 wizyt
pytanie zadane 27 grudnia 2016 w C i C++ przez sofnir Gaduła (4,690 p.)
0 głosów
0 odpowiedzi 145 wizyt
pytanie zadane 6 września 2020 w C i C++ przez NieMaJuzNazw Użytkownik (890 p.)
+1 głos
2 odpowiedzi 1,011 wizyt
pytanie zadane 12 maja 2015 w C i C++ przez Adrian1999 Nałogowiec (34,570 p.)

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

62,906 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...