Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++][SFML] Sprite poruszający się po 8 kierunkach


Rekomendowane odpowiedzi

Opublikowano

Witam. Ma ktoś pomysł jak zrobić sprite, który będzie się przemieszczac prawo-lewo, góra-doł i na skosy? Mam taki kod:

if(zdarzenie.type == sf::Event::KeyPressed) // Jesli nacisineto przycisk
{
	if(zdarzenie.key.code == sf::Keyboard:) // Jesli przycisk to D
	{
	    ludz.move(10, 0); // Przesun o 10px w prawo
	    ludz.setTextureRect(sf::IntRect(0, 0, ludz.getGlobalBounds().width, ludz.getGlobalBounds().height)); // Obroc postac w prawo
	}
	if(zdarzenie.key.code == sf::Keyboard::A) // Jesli przycisk to A
	{
            ludz.move(-10, 0); // Przesun o 10px w lewo
            ludz.setTextureRect(sf::IntRect(ludz.getGlobalBounds().width, 0, -ludz.getGlobalBounds().width, ludz.getGlobalBounds().height)); // Obroc postac w lewo
        }
        if(zdarzenie.key.code == sf::Keyboard::W) // Jesli przycisk to W
        {
	    ludz.move(0, -10); // Przesun o 10px w gore
        }
        if(zdarzenie.key.code == sf::Keyboard:) // Jesli przycisk to S
        {
	    ludz.move(0, 10); // Przesun o 10px w dol
        }
}

Próbowałem if(zdarzenie.key.code == sf::Keyboard::W && zdarzenie.key.code == sf::Keyboard::D) ale niestety nie działa. Czekam na propozycje

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

W zdarzeniu jest zapisany jednocześnie tylko jeden wciśnięty klawisz (co z resztą widać, bo sprawdzasz czy jedna zmienna ma dwie różne wartości jednocześnie). Musisz to rozwiązać w inny sposób, jaki dokładnie nie wiem, nie znam SFML.

Opublikowano

Też o tym pomyślałem. Sprawdzałem na zagranicznych tematach ale nic ciekawego nie znalazłem

 

// Nikt tu sie nie zna na sfml?

 

 

Poradziłem sobie z problemem, do zamknięcia. :D

 

PS. Jakby któs miał ten sam problem wystarczy uzyskać bezpośredni dostęp do klawiatury

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...