Roblox accetta input da gamepad come i controller Xbox e PlayStation. Per semplificare gli input cross‑platform, inclusi i gamepad, Roblox fornisce il Sistema di Azioni Input per definire azioni come "salto", "corsa" o "sparare" e impostare binding per più input hardware per attivare quelle azioni.
Quando si collegano gli input del gamepad, vedere i modelli di controllo comuni per creare un'esperienza di gamepad coerente per i giocatori. Dopo che gli input sono stati impostati, puoi migliorare l'esperienza del giocatore includendo feedback aptico sui controller supportati.
Mentre sviluppi il supporto per i gamepad, ricorda di testare frequentemente utilizzando un gamepad collegato o l'Emulatore di Controller in Studio.
Rilevamento del tipo di input
Nello sviluppo cross‑platform, è importante determinare e rispondere al tipo di input PreferredInput che un giocatore sta utilizzando, normalmente per garantire che gli elementi UI come i pulsanti e i menu sullo schermo funzionino elegantemente e supportino l'interazione tra i dispositivi.
Ad esempio, una console presume che i gamepad siano l'input predefinito, ma un giocatore su PC o laptop potrebbe anche scegliere di collegare un gamepad bluetooth. In questo caso, mouse/tastiera rimane un input valido per quel giocatore, ma puoi presumere che vogliano passare al gamepad collegato come tipo di input primario.
Vedi rilevamento del tipo di input per ulteriori informazioni.
Modelli di controllo comuni
Quando si considerano specifici binding di controllo per il Sistema di Azioni Input, è meglio stabilire coerenza tra i diversi giochi. I seguenti binding di input aiuteranno i giocatori a sentirsi immediatamente familiari e a proprio agio con i controlli del gamepad.
| Input | Usi comuni |
|---|---|
| ButtonA | Accetta i prompt del giocatore o le selezioni GUI. Utilizzato alternativamente per azioni primarie come il salto. |
| ButtonB | Annulla i prompt del giocatore o le selezioni GUI. Utilizzato alternativamente per azioni secondarie come schivare, rotolare o correre. |
| Thumbstick1 | Generalmente associato al movimento del personaggio. |
| Thumbstick2 | Generalmente associato al movimento della telecamera. |
| ButtonL2, ButtonR2 | Generalmente utilizzato per azioni primarie, come sparare. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Azioni secondarie come ricaricare, mirare o accedere a un inventario o minimappa. |

Feedback aptico
Molti controller per gamepad hanno motori integrati per fornire feedback aptico. Aggiungere vibrazioni e tremori può migliorare notevolmente l'esperienza di un giocatore e fornire feedback sottile oltre a visivi o audio.
Roblox supporta l'aptica per i gamepad PlayStation, i gamepad Xbox e il controller Quest Touch. Il feedback aptico è gestito tramite istanze di HapticEffect che possono essere impostate su un tipo specifico di Type come GameplayCollision o UIClick.
Una volta che un HapticEffect è in atto, puoi iniziarlo tramite il metodo Play(), ad esempio:
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Riproduci l'effetto aptico
effect:Play()Emulazione del controller
Usa l'Emulatore di Controller per testare l'input del gamepad direttamente in Studio senza un controller fisico collegato. Mostra un'immagine del dispositivo emulato e illumina i suoi controlli man mano che arrivano gli input, il che aiuta a confermare che i tuoi gestori UserInputService e i binding del Sistema di Azioni Input reagiscano come ti aspetti.