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

[SFML 2.0] Odbieranie zdarzeń w kilku miejscach w programie

Ostatnio zmodyfikowano 2013-02-16 13:23
Autor Wiadomość
Arturr300
Temat założony przez niniejszego użytkownika
[SFML 2.0] Odbieranie zdarzeń w kilku miejscach w programie
» 2013-02-16 11:56:18
Witam.
Mam następujący problem:
Mam pętlę odbierającą zdarzenia w pliku Gra.cpp i chciałbym odebrać zdarzenia w pliku Gui.cpp (znajduje się tam klasa pochodna od Gra). Problem jest następujący: w Gui.cpp mam okienko do wpisywania wartości. Tylko niektóre wciśnięcie klawiszy trafiają do Gui, niektóre do Gra.
Czyli po prostu żeby napisać np. "a" trzeba czasem wciskać klawisz parę razy.
Chciałbym zrobić coś w rodzaju globalnych zdarzeń, żeby i Gra.cpp i Gui.cpp miały dostęp do wszystkich zdarzeń. Mam nadzieję że wiecie o co chodzi :)
Kod:
Wszystko jest połączone klasami, jednak wkleję tylko fragmenty, bo całość zajmuje bardzo dużo miejsca.

Gra.cpp:
C/C++
while( window.pollEvent( zdarzenie ) )
{
    //instrukcje
}

Gui.cpp:
C/C++
while( __window.pollEvent( __zdarzenie ) )
{
    //instrukcje
}
__zdarzenie jest zdefiniowane jako Gra::Instance()->zdarzenie
__window jest zdefiniowane jako Gra::Instance()->window

P.S.
Szukałem w necie i niczego nie znalazłem.
P-76397
DejaVu
» 2013-02-16 13:04:42
Pobierasz zdarzenie i przekazujesz je do wszystkich obiektów, które Ciebie interesują :P
C/C++
while( window.pollEvent( zdarzenie ) )
{
    gra.runEvent( zdarzenie );
    gui.runEvent( zdarzenie );
}
obiekt gui może mieć status czy jest aktywne czy też nie i w zależności od statusu albo obsługuje zdarzenie albo je olewa.
P-76400
Arturr300
Temat założony przez niniejszego użytkownika
a
» 2013-02-16 13:23:55
Dzięki za pomoc, działa :D
Zamykam.

Fajne to forum :)
P-76403
« 1 »
  Strona 1 z 1