コントローラー損失への対処
コントローラー損失への対処
ユーザーにコントローラーが関連付けられていることは、ほとんどのゲームで重要です。ゲームがユーザーのそのようなコントローラーをすべて失った場合 (例: バッテリー切れ)、シングル プレイヤー ゲームの標準的なアプローチは、ゲームを一時停止し、ユーザーにコントローラーの電源を入れるようダイアログを表示することです。
XUserFindControllerForUserWithUiAsync 関数を使用すると、ゲームはこの体験を改善できます。この関数は入力として XUserHandle を受け取り、次のダイアログを表示します。
<<ゲーマー>>、このゲームにはコントローラーが必要です。
使用したいコントローラーの A ボタンを長押しして確認してください
ユーザーがコントローラーを確認したら、ゲームは XUserFindControllerForUserWithUiResult を呼び出して、選択されたコントローラーの APP_LOCAL_DEVICE_ID を取得できます。さらに重要なのは、そのコントローラーがそのユーザーに関連付けられたことです。そのユーザーが次に Nexus ボタンを押すと、XBOX ガイドはガイドにそのユーザーの情報を表示します。
プレイヤーはコントローラーを選択せずにこのダイアログをキャンセルできるため、タイトルはこのキャンセルを適切に処理する必要があります。たとえば、タイトルは選択を強制するために XUserFindControllerForUserWithUiAsync を繰り返し呼び出したり、ユーザーとコントローラーのマッピングがなくなったためタイトル画面に戻ったり、その他のタイトルにとって理にかなった動作を行うことができます。
また、このプロセスによって、ユーザーがゲーム内で以前に他のユーザーに関連付けられていたコントローラーに関連付けられる場合があることに注意してください。これは設計上の意図です。
ユーザーとコントローラーの関連付けが変更されるたびに、XUserDeviceAssociationChangedCallback が発生します。
なお、このイベントは XUserFindControllerForUserWithUiAsync の呼び出しから成功したユーザーとコントローラーのペアリングでも発火します。
最終更新日 2026年8月24日
関連トピック
ユーザーXUserFindControllerForUserWithUiAsyncXUserFindControllerForUserWithUiResultFMA XR-115: プレイ中のユーザーおよびコントローラーの追加と削除XR-115 プレイ中のユーザーまたはコントローラーの追加と削除