Roblox akceptuje wejście z kontrolerów, takich jak kontrolery Xbox i PlayStation. Aby uprościć wejścia międzyplatformowe, w tym kontrolery, Roblox oferuje System Akcji Wejścia, aby zdefiniować akcje takie jak "skok", "bieganie" czy "strzelanie" oraz ustawić powiązania dla wielu wejść sprzętowych, aby napędzać te akcje.
Podczas wiązania wejść z kontrolera, zapoznaj się z powszechnymi schematami sterowania, aby stworzyć spójne doświadczenie z kontrolerem dla graczy. Po ustawieniu wejść możesz wzbogacić doświadczenie gracza, dodając sprzężenie zwrotne haptyczne na wspieranych kontrolerach.
Podczas budowania wsparcia dla kontrolerów pamiętaj, aby często testować, używając podłączonego kontrolera lub Emulatora Kontrolera w Studio.
Wykrywanie typu wejścia
W rozwoju międzyplatformowym ważne jest, aby określić i odpowiedzieć na typ PreferredInput, z którego korzysta gracz, zazwyczaj aby zapewnić, że elementy UI takie jak przyciski na ekranie i menu działają elegancko i wspierają interakcję na różnych urządzeniach.
Na przykład, konsola zakłada, że kontrolery są domyślnym wejściem, ale gracz na PC lub laptopie może również zdecydować się na podłączenie kontrolera bluetooth. W takim przypadku mysz/klawiatura pozostaje ważnym wejściem dla tego gracza, ale możesz założyć, że chce przełączyć się na podłączony kontroler jako główny typ wejścia.
Zobacz wykrywanie typu wejścia po więcej informacji.
Powszechne schematy sterowania
Rozważając konkretne powiązania sterujące dla Systemu Akcji Wejścia, najlepiej jest ustalić spójność w różnych grach. Poniższe powiązania wejściowe pomogą graczom natychmiast poczuć się znajomo i komfortowo z kontrolami kontrolera.
| Wejście | Typowe przypadki użycia |
|---|---|
| ButtonA | Akceptuje prośby gracza lub wybory GUI. Alternatywnie używane do głównych akcji, takich jak skakanie. |
| ButtonB | Anuluje prośby gracza lub wybory GUI. Alternatywnie używane do drugorzędnych akcji, takich jak uniki, przewroty lub bieganie. |
| Thumbstick1 | Ogólnie związane z ruchem postaci. |
| Thumbstick2 | Ogólnie związane z ruchem kamery. |
| ButtonL2, ButtonR2 | Ogólnie używane do głównych akcji, takich jak strzelanie. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Drugorzędne akcje, takie jak przeładowanie, celowanie lub dostęp do ekwipunku lub minimapy. |

Sprzężenie zwrotne haptyczne
Wiele kontrolerów ma wbudowane silniki, aby zapewnić sprzężenie zwrotne haptyczne. Dodanie wibracji i drgań może znacznie wzbogacić doświadczenie gracza i dostarczyć subtelne informacje zwrotne poza wizualizacjami czy dźwiękiem.
Roblox wspiera haptykę dla kontrolerów PlayStation, kontrolerów Xbox oraz kontrolera Quest Touch. Sprzężenie zwrotne haptyczne jest zarządzane przez instancje HapticEffect, które mogą być ustawione na konkretny Type, taki jak GameplayCollision lub UIClick.
Gdy HapticEffect jest gotowy, możesz go uruchomić za pomocą metody Play(), na przykład:
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Odtwórz efekt haptyczny
effect:Play()Emulacja kontrolera
Użyj Emulatora Kontrolera, aby testować wejście z kontrolera bezpośrednio w Studio bez podłączonego fizycznego kontrolera. Pokazuje obraz emulowanego urządzenia i podświetla jego kontrolki, gdy przychodzi wejście, co pomaga potwierdzić, że twoje obsługi UserInputService i powiązania Systemu Akcji Wejścia reagują tak, jak oczekujesz.