Roblox accepte les entrées des manettes telles que les contrôleurs Xbox et PlayStation. Pour simplifier les entrées multiplateformes, y compris les manettes, Roblox fournit le Système d'Action d'Entrée pour définir des actions telles que "sauter", "courir" ou "tirer" et configurer des liaisons pour plusieurs entrées matérielles afin de déclencher ces actions.
Lors de la liaison des entrées de manette, consultez les schémas de contrôle communs pour créer une expérience de manette cohérente pour les joueurs. Une fois les entrées définies, vous pouvez améliorer l'expérience du joueur en incluant des retours haptiques sur les contrôleurs pris en charge.
Alors que vous développez le support pour les manettes, n'oubliez pas de tester fréquemment en utilisant une manette connectée ou l'Émulateur de Contrôleur dans Studio.
Détection du type d'entrée
Dans le développement multiplateforme, il est important de déterminer et de répondre au type PreferredInput que le joueur utilise, normalement pour s'assurer que les éléments d'UI comme les boutons et les menus à l'écran fonctionnent élégamment et supportent l'interaction entre les appareils.
Par exemple, une console suppose que les manettes sont l'entrée par défaut, mais un joueur sur PC ou ordinateur portable peut également choisir de connecter une manette bluetooth. Dans ce cas, la souris/le clavier reste une entrée valide pour ce joueur, mais vous pouvez supposer qu'il souhaite passer à la manette connectée comme type d'entrée principal.
Consultez la détection du type d'entrée pour plus d'informations.
Schémas de contrôle communs
Lors de la prise en compte des liaisons de contrôle spécifiques pour le Système d'Action d'Entrée, il est préférable d'établir une cohérence à travers différents jeux. Les liaisons d'entrée suivantes aideront les joueurs à se sentir immédiatement familiers et à l'aise avec les contrôles de la manette.
| Entrée | Cas d'utilisation communs |
|---|---|
| ButtonA | Accepte les invites du joueur ou les sélections de l'interface graphique. Utilisé alternativement pour des actions principales telles que sauter. |
| ButtonB | Annule les invites du joueur ou les sélections de l'interface graphique. Utilisé alternativement pour des actions secondaires telles qu'une esquive, un roulé ou un sprint. |
| Thumbstick1 | Généralement associé au mouvement du personnage. |
| Thumbstick2 | Généralement associé au mouvement de la caméra. |
| ButtonL2, ButtonR2 | Généralement utilisé pour des actions principales, telles que tirer. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Actions secondaires telles que recharger, cibler ou accéder à un inventaire ou une mini-carte. |

Retour haptique
De nombreux contrôleurs de manette ont des moteurs intégrés pour fournir un retour haptique. Ajouter des vibrations et des secousses peut grandement améliorer l'expérience d'un joueur et fournir un retour subtil au-delà des visuels ou de l'audio.
Roblox prend en charge les haptics pour les manettes PlayStation, les manettes Xbox et le contrôleur Quest Touch. Le retour haptique est géré par des instances de HapticEffect qui peuvent être définies sur un type spécifique Type tel que GameplayCollision ou UIClick.
Une fois qu'un HapticEffect est en place, vous pouvez l'initier via la méthode Play(), par exemple :
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Jouer l'effet haptique
effect:Play()Émulation de contrôleur
Utilisez l'Émulateur de Contrôleur pour tester l'entrée de la manette directement dans Studio sans qu'un contrôleur physique soit connecté. Il montre une image de l'appareil émulé et illumine ses contrôles à mesure que les entrées arrivent, ce qui aide à confirmer que vos gestionnaires UserInputService et les liaisons du Système d'Action d'Entrée réagissent comme vous l'attendez.