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

event.type==Event::KeyPressed a Keyboard::isKeyPressed

Object Storage Arubacloud
0 głosów
199 wizyt
pytanie zadane 21 października 2015 w C i C++ przez Damian11131 Stary wyjadacz (13,490 p.)

Witam. Moje pytanie brzmi: Jaka jest różnica w działaniu metody Keyboard::isKeyPressed() a enumu  Event::KeyPressed? Zobrazuję to na przykładzie:

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
using namespace sf;
int main()
{
   RenderWindow window1(VideoMode(500,400,32),"window");
   window1.setFramerateLimit(60);
   window1.setVerticalSyncEnabled(true);
   while(window1.isOpen())
   {
       Event event1;
       while(window1.pollEvent(event1))
       {
            if(event1.type==Event::Closed)
                window1.close();
            if(event1.type==Event::KeyPressed)
                if(event1.key.code==Keyboard::A)
                    window1.setSize(Vector2u(200,200));
            if(Keyboard::isKeyPressed(Keyboard::S))
                window1.setSize(Vector2u(440,300));
       }


   }
    return EXIT_SUCCESS;
}

 

2 odpowiedzi

+2 głosów
odpowiedź 21 października 2015 przez szmq Pasjonat (22,770 p.)
wybrane 21 października 2015 przez Damian11131
0 głosów
odpowiedź 21 października 2015 przez furas Maniak (53,800 p.)

`Event::KeyPressed` to zdarzenie, które następuje tylko raz gdy zaczynasz wduszać jakiś przycisk. Jak już go trzymasz wciśniętego to system nie wysyła zdarzenia, ze jakiś klawisz wciąż jest wduszony. 

Keyboard::isKeyPressed(klawisz) zaś sprawdza czy dany klawisz wciąż jest wciśnięty.

komentarz 21 października 2015 przez Damian11131 Stary wyjadacz (13,490 p.)
Tak już wiem o tym, przeczytałem temat na stronie SFML, ale dziękuję za zainteresowanie się tematem.
komentarz 21 października 2015 przez niezalogowany
No, założe się, że jak furas wszedł na ten temat, to jeszcze żadnej odpowiedzi nie było, więc odpisał ;)
komentarz 21 października 2015 przez furas Maniak (53,800 p.)
zgadza się - gdy wchodziłem to jeszcze nie było odpowiedzi :)
komentarz 12 listopada 2019 przez MaciekElo Nowicjusz (180 p.)

@furas, no nie wiem mi to jakoś nie działa zrobiłem if(event.type==Event::KeyPressed) cout<<"a"; i jakoś nawet gdy przytrzymuje klawisz to i tak mi wyświetla "a" w konsoli. i co jak to naprawić?

 

Podobne pytania

+1 głos
2 odpowiedzi 365 wizyt
0 głosów
0 odpowiedzi 78 wizyt
pytanie zadane 23 października 2020 w C i C++ przez Xarcane Początkujący (440 p.)
0 głosów
1 odpowiedź 444 wizyt
pytanie zadane 23 września 2015 w C i C++ przez patryk16 Obywatel (1,080 p.)

92,579 zapytań

141,431 odpowiedzi

319,657 komentarzy

61,963 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...