Gérer la perte de manette
Gérer la perte de manette
L’association d’une manette à un utilisateur est essentielle pour la plupart des jeux. Lorsque le
jeu perd toutes les manettes de ce type pour un utilisateur (p. ex., la pile est à plat), l’approche
standard pour un jeu à un seul joueur consiste à mettre le jeu en pause et à afficher une boîte de dialogue
demandant à l’utilisateur d’allumer une manette.
À l’aide de la fonction XUserFindControllerForUserWithUiAsync,
les jeux peuvent améliorer cette expérience. Cette fonction prend un XUserHandle
en entrée et affiche une boîte de dialogue :
<<Gamer>>, vous avez besoin d’une manette pour ce jeu.
Maintenez le bouton A enfoncé pour confirmer la manette que vous voulez utiliser
Une fois que l’utilisateur a confirmé sa manette, le jeu peut appeler
XUserFindControllerForUserWithUiResult
pour obtenir l’APP_LOCAL_DEVICE_ID de la manette choisie. Plus important encore, cette
manette est maintenant associée à cet utilisateur. Si cet utilisateur appuie ensuite sur le bouton nexus,
le guide XBOX affiche les informations de cet utilisateur.
Notez que le joueur peut annuler cette boîte de dialogue sans sélectionner de manette, et le titre doit gérer cette annulation de façon appropriée. Par exemple, un titre pourrait appeler XUserFindControllerForUserWithUiAsync à répétition pour forcer une sélection, ou revenir à l’écran titre puisqu’il n’y a plus de correspondance utilisateur/manette, ou adopter tout autre comportement qui a du sens pour le titre.
Notez également qu’avec ce processus, les utilisateurs peuvent être associés à des manettes qui étaient auparavant associées à d’autres utilisateurs dans le jeu. Ce comportement est voulu.
Chaque fois que l’association entre un utilisateur et une manette change, un
XUserDeviceAssociationChangedCallback est déclenché.
À noter : cet événement est aussi déclenché lors du jumelage réussi d’un utilisateur à une manette
résultant de l’appel de
XUserFindControllerForUserWithUiAsync.
Last modified on October 6, 2026
