This repository has been archived by the owner on Jun 6, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Input
Patrick Stritch edited this page Apr 27, 2018
·
1 revision
Klasa InputManager opiera się na działaniu eventów, pozyskiwaniu z nich potrzebnych informacji i zapisywaniu ich.
while (getModule<Window>().getWindow().pollEvent(event)) {
getModule<Input>().getManager().processEvent(event); // na początku obsługi eventów
// reszta obsługi eventów
}
getModule<Input>().getManager().finishLogic(); // pod koniec update'u
Kody
- rat::Keyboard::*
- rat::Mouse::*
- rat::Scroll::*
Stany
- rat::Unkept/Pressed/Kept/Released
Urządzenia
- rat::Keyboard/Mouse/Scroll
auto& man = getModule<Input>().getManager();
// równoważne z man.checkStatus(Keyboard::A, Kept) i man.getStatus(Keyboard::A) == Kept
if (man.isKept(Keyboard::A)) {
// np. ruch postaci
}
if (man.isAnyPressed()) {
// zapisywanie klawiszologii
config.moveUp = man.getRecentlyPressed();
}
if (man.isTextEntered()) {
// pozyskiwanie tekstu z klawiatury
auto ch = man.getEnteredCharacter();
}
// mouse position from event, relative to window
auto pos = man.getMousePosition();
if (man.isPressed(Mouse::Left)) {
// symulowanie prawego kliknięcia lewym
man.press(Mouse::Right);
}