Mam kontroler XBox360, którego chciałbym użyć jako danych wejściowych dla aplikacji.
To, czego nie mogę wypracować, to najlepszy sposób na ujawnienie tego za pośrednictwem interfejsu.
Za kulisami klasa, która obsługuje kontroler (kontrolery), opiera się na stanie przycisku odpytywania.
Początkowo próbowałem coś link:
Event ButtonPressed() as ButtonEnum
gdzie ButtonEnum
był ButtonRed
, ButtonStart
itd ...
Jest to trochę ograniczone, ponieważ obsługuje tylko naciśnięcia przycisków, a nie blokady / wzory (naciśnij dwukrotnie itp.)
Kolejnym pomysłem było po prostu ujawnienie stanu przycisku aplikacji, np
Property RedPressed as Boolean
Property StartPressed as Boolean
Property Thumb1XAxis as Double
Jest to bardzo elastyczne, ale tak naprawdę wymusza zbyt wiele pracy w aplikacji i wymaga odpytywania aplikacji - wolałbym kierować zdarzeniami, jeśli to możliwe.
Rozważałem dodanie wielu wydarzeń, np .:
Event ButtonPressed(Button as ButtonEnum)
Event ButtonPressedTwice(Button as ButtonEnum)
Event ButtonHeldStart(Button as ButtonEnum)
Event ButtonHeldEnd(Button as ButtonEnum)
ale wydaje się to trochę niezgrabne i było prawdziwym bólem na ekranie „Bind button”.
Czy ktoś może wskazać mi „prawidłowy” sposób obsługi danych wejściowych z kontrolerów.
NB: Używam SlimDX w klasie, która implementuje interfejs. To pozwala mi bardzo łatwo odczytać stan. Doceniamy również wszelkie alternatywy, które mogłyby rozwiązać mój problem