Sterowanie w Roblox: klawiatura, gamepad i dostępność
Spis treści
Roblox przyjmuje wejście zarówno z myszy i klawiatury, jak i z gamepadów — w tym kontrolerów Xbox i PlayStation. Mysz i klawiatura są obsługiwane przez serwis UserInputService, a przy gamepadach dokumentacja zaleca Input Action System, który przypisuje jedną akcję do różnych wejść sprzętowych.
Poniżej opisujemy, jak to jest zorganizowane na poziomie platformy, jak przetestować gamepada bez samego gamepada oraz co oficjalna dokumentacja mówi o dostępności interfejsu. Nie znajdziesz tu układów klawiszy w konkretnych grach: każde doświadczenie konfiguruje sterowanie samodzielnie i jednej „standardowej” schemy dla całego Roblox nie ma.
Dwie osobne gałęzie wejścia
Łatwo pomyśleć, że klawiatura i gamepad to po prostu „inne przyciski do tego samego”. Z punktu widzenia platformy to nie do końca prawda: dokumentacja opisuje je w osobnych sekcjach i proponuje różne narzędzia.
| Co | Mysz i klawiatura | Gamepad |
|---|---|---|
| Główny mechanizm w dokumentacji | serwis UserInputService | Input Action System |
| Typowe zadanie | wychwycić wciśnięcie i puszczenie, sprawdzić stan klawisza | przypisać akcję do wejścia tak, by działała na różnym „sprzęcie” |
| Sprzężenie haptyczne | nieopisane w przywołanych źródłach | obsługiwane dla PlayStation, Xbox i Quest Touch |
| Test bez urządzenia | — | Controller Emulator w Studio |
Praktyczny wniosek dla gracza jest prosty: jeśli gra w Roblox nie reaguje na twojego gamepada, to niemal zawsze kwestia leży po stronie twórcy konkretnego doświadczenia, nie platformy. Platforma wejście z kontrolera przyjmuje.
Mysz i klawiatura: UserInputService
Ogólne wejście z myszy i klawiatury Roblox obsługuje przez serwis UserInputService. Z tego, co wprost wymienia dokumentacja, najważniejsze są trzy rzeczy:
- InputBegan — zdarzenie rozpoczęcia wejścia;
- InputEnded — zdarzenie zakończenia wejścia;
- IsKeyDown() — metoda sprawdzająca, czy klawisz jest wciśnięty w danym momencie.
Różnica między zdarzeniami a metodą jest kluczowa i to właśnie na niej potykają się początkujący. Zdarzenia uruchamiają się w chwili zmiany: wciśnięcie klawisza wywołuje InputBegan, puszczenie — InputEnded. Metoda IsKeyDown() odpowiada na inne pytanie: „czy klawisz jest teraz trzymany?”. To dwa różne sposoby myślenia o wejściu i nie warto ich mylić.
Typowy przykład, gdzie potrzebna jest właśnie ta druga opcja: akcja trwająca tak długo, jak długo klawisz jest trzymany. Łapanie początku i końca zdarzenia też jest możliwe, ale sprawdzanie stanu często czyta się prościej.
Jeśli dopiero zaczynasz skryptowanie i słowa „serwis”, „zdarzenie” oraz „metoda” brzmią jak szum — zacznij od podstaw języka Luau i pierwszych kroków w Roblox Studio, a do wejścia wróć już z rozumieniem, czym jest zdarzenie.
Gamepad: Input Action System
Dla gamepadów dokumentacja proponuje osobne podejście — Input Action System. Jego przeznaczenie opisano tak: spójne przypisywanie akcji typu „jump” czy „shoot” do różnych wejść sprzętowych.
Rozłóżmy, dlaczego to w ogóle osobne zadanie.
Kiedy piszesz logikę gry, nie potrzebujesz „przycisku A” ani „klawisza spacji” — potrzebujesz akcji „skok”. Ta sama akcja powinna działać z różnego „sprzętu”: z klawiatury, z kontrolera Xbox, z kontrolera PlayStation. Jeśli za każdym razem przypisujesz logikę bezpośrednio do konkretnego fizycznego przycisku, kod rozjeżdża się na równoległe gałęzie pod każdy typ urządzenia, a każda zmiana sterowania oznacza poprawki w kilku miejscach.
Input Action System zamyka właśnie tę lukę: akcja jest opisywana raz, a wejścia są do niej przypisywane. To ten poziom abstrakcji, który uwalnia od schematu „a teraz to samo, tylko dla gamepada”.
⚠️ Ważne: nie opisujemy tu ani składni, ani nazw konkretnych obiektów tego systemu — w przywołanych źródłach ich nie ma. To materiał o tym, który mechanizm do czego służy, a nie krok po kroku tutorial z kodem. Po szczegóły API zajrzyj do oficjalnej dokumentacji Roblox — to tam jest źródło pierwotne.
Sprzężenie zwrotne haptyczne
Roblox obsługuje haptic feedback — sprzężenie zwrotne haptyczne — dla gamepadów PlayStation, Xbox oraz kontrolera Quest Touch.
Wzmianka o Quest Touch nie jest tu przypadkowa i jest ważna dla zrozumienia skali: lista obsługiwanych urządzeń nie ogranicza się do dwóch kontrolerów konsolowych. Co dokładnie i na jakich modelach jest odtwarzane, dokumentacja w przywołanym fragmencie nie precyzuje, więc nie obiecujemy, że „wibracje działają wszędzie tak samo”.
O tym, jakie urządzenia w ogóle udźwigną Roblox, jest osobny materiał — na jakich urządzeniach działa Roblox.
Jak przetestować gamepada bez gamepada
Sytuacja typowa: robisz obsługę kontrolera, a samego kontrolera nie masz pod ręką. Do tego w Roblox Studio jest wbudowany Controller Emulator.
- Otwórz swój projekt w Roblox Studio.
- Znajdź menu Test — właśnie stamtąd wywołuje się emulator.
- Uruchom Controller Emulator i sprawdzaj wejście z gamepada bezpośrednio w Studio.
To oficjalne narzędzie samego Studio, nie zewnętrzne rozszerzenie. Usuwa najbardziej uciążliwą barierę: nie trzeba kupować kontrolera, żeby po prostu upewnić się, że przypisania akcji w ogóle działają.
Czego emulator nie zastąpi — realnego odczucia sterowania. Sprawdzić logikę („wciśnięto — zadziałało”) da się nim bez problemu; ocenić wygodę, czułość i to, jak gra „czuje się w rękach” z żywym kontrolerem — nie. To dwa różne zadania.
Dostępność: co radzi oficjalna dokumentacja
To ta część, którą zwykle odkłada się „na później” i nigdy się nie robi. Dokumentacja Roblox ma osobną sekcję o dostępności, a dwa jej stwierdzenia warto znać nawet tym, którzy nie opublikowali jeszcze żadnego doświadczenia.
Pierwsze — o skali. Według oficjalnej statystyki, którą przywołuje dokumentacja Roblox, ponad 26% ludzi ma jakiś rodzaj niepełnosprawności. Dlatego dostępność opisana jest tam nie jako dobry uczynek, lecz jako sposób na dotarcie z grą do szerszej publiczności. To argument o zasięgu, nie tylko o etyce.
Drugie — konkretna wskazówka dotycząca interfejsu. Ponad 5% ludzi na świecie ma jakąś formę daltonizmu. Wniosek dokumentacji jest wprost: nie polegaj wyłącznie na kolorze przy przekazywaniu ważnych informacji w interfejsie.
W praktyce „tylko kolor” to sytuacja, gdy jedyna różnica między stanami istnieje w kolorze i nigdzie indziej:
- czerwony pasek kontra zielony, bez podpisu i bez różnicy w kształcie;
- gracze różnych drużyn odróżniający się tylko odcieniem;
- przycisk „aktywny” różniący się od nieaktywnego wyłącznie tonem.
Zasada, która z tego wynika: ważna informacja powinna być zdublowana czymś poza kolorem — podpisem, ikoną, kształtem, pozycją. Kolor zostaje, po prostu przestaje być jedynym nośnikiem treści.
Dostępność interfejsu dobrze koresponduje z lokalizacją doświadczenia — oba zadania dotyczą tego samego: żeby grę zrozumieli ludzie inni niż ty.
Czego nie stwierdzamy
Ta sekcja nie jest tu dla formalności — to granica między tym, co jest w źródłach, a tym, co mógłbym dofantazjować.
- Nie podajemy konkretnych układów klawiszy. Każde doświadczenie w Roblox konfiguruje sterowanie samodzielnie. Jednej obowiązkowej schemy „klawisz X = akcja Y” dla wszystkich gier w przywołanych źródłach nie znaleźliśmy.
- Nie wymieniamy pełnego API. W UserInputService wymienione są InputBegan, InputEnded oraz IsKeyDown() — to jest to, co wprost jest w źródle. Inne elementy serwisu mogą istnieć, ale nie warto ich z tego materiału wyprowadzać.
- Nie precyzujemy Input Action System. Co dokładnie system potrafi poza spójnym przypisywaniem akcji do różnych wejść — to pytanie do dokumentacji.
- Nie opisujemy sterowania dotykowego na urządzeniach mobilnych. To osobny temat i w tym materiale świadomie go nie ma.
- Nie podajemy konkretnych modeli kontrolerów. Źródła mówią o gamepadach Xbox i PlayStation oraz kontrolerze Quest Touch — bez listy rewizji i bez obietnic kompatybilności z konkretnym urządzeniem.
- Nie podajemy żadnych liczb poza dwiema. Ponad 26% ludzi z niepełnosprawnością i ponad 5% z daltonizmem — to statystyka przywoływana przez samą dokumentację Roblox. Innych liczb w tym temacie nie mamy i nie wymyślamy.
Źródła
- Roblox Creator Docs — Gamepad
- Roblox Creator Docs — Mouse and keyboard
- Roblox Creator Docs — Accessibility
Krótko
Mysz i klawiatura w Roblox są obsługiwane przez UserInputService (InputBegan, InputEnded, IsKeyDown()), gamepady Xbox i PlayStation — przez Input Action System, a kontroler można sprawdzić emulatorem z menu Test w Studio. Jeśli chodzi o dostępność, dokumentacja podaje dwie kluczowe liczby: ponad 26% ludzi ma niepełnosprawność, a ponad 5% — daltonizm, dlatego ważnych informacji w interfejsie nie warto przekazywać wyłącznie kolorem.
Najczęstsze pytania
Czy można grać w Roblox na gamepadzie?
Tak. Roblox przyjmuje wejście z gamepadów, w tym kontrolerów Xbox i PlayStation. Konkretny układ przycisków zależy jednak od tego, jak skonfigurował go twórca danego doświadczenia.
Jak deweloper może przypisać jedną akcję zarówno do klawisza, jak i do przycisku gamepada?
Do spójnego przypisywania akcji typu „jump” czy „shoot” do różnych wejść sprzętowych Roblox oferuje Input Action System.
Jak sprawdzić sterowanie gamepadem, gdy nie ma się kontrolera pod ręką?
W Roblox Studio jest wbudowany Controller Emulator — dostępny z menu Test — który pozwala przetestować wejście z gamepada bez fizycznego urządzenia.
Czy Roblox obsługuje wibracje gamepada?
Tak, Roblox obsługuje sprzężenie zwrotne haptyczne (haptic feedback) dla gamepadów PlayStation, Xbox oraz kontrolera Quest Touch.
Jak w skrypcie sprawdzić, czy dany klawisz jest wciśnięty?
Za pomocą serwisu UserInputService: obsługuje on ogólne wejście z myszy i klawiatury, ma zdarzenia InputBegan i InputEnded oraz metodę IsKeyDown() do sprawdzania stanu klawisza.
Dlaczego nie warto oznaczać ważnych elementów interfejsu wyłącznie kolorem?
Dokumentacja Roblox wskazuje, że ponad 5% ludzi na świecie ma jakąś formę daltonizmu, i zaleca, by nie polegać wyłącznie na kolorze przy przekazywaniu ważnych informacji.