Gestion de la perte de manette
Gestion de 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 (par exemple, si la batterie est vide),
l’approche standard pour un jeu solo consiste à le mettre en pause et à afficher une boîte de dialogue
demandant à l’utilisateur d’allumer une manette.
Avec 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 souhaitez 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 désormais associée à cet utilisateur. Si cet utilisateur appuie ensuite sur le bouton nexus,
le Guide XBOX affiche les informations de cet utilisateur dans le Guide.
Notez que le joueur peut fermer cette boîte de dialogue sans sélectionner de manette, et le titre doit gérer cette annulation de manière appropriée. Par exemple, un titre peut appeler XUserFindControllerForUserWithUiAsync à plusieurs reprises pour imposer une sélection, revenir à l’écran titre puisqu’il n’existe plus de mappage utilisateur/manette, ou adopter tout autre comportement pertinent 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 du jeu. Ce comportement est intentionnel.
Chaque fois que l’association entre un utilisateur et une manette change, un
XUserDeviceAssociationChangedCallback se produit.
À noter que cet événement se déclenche également lors de l’association réussie d’un utilisateur à une manette
résultant d’un appel à
XUserFindControllerForUserWithUiAsync.
Last modified on October 6, 2026
