Skip to main content
ゲームは、プレイヤーに表示されるタッチ レイアウトを変更したり、現在表示されているレイアウトが使用している状態を変更したりできます。両方の方法を一緒に使用して、プレイヤーに最も自然な体験を作成できます。 レイアウトの変更 レイアウトの変更は次の場合に使用します。
  • 異なるコントロール スキーム間の遷移 (たとえば、車両の運転とファーストパーソン シューティング)
  • タッチ レイアウトを一時的に非表示にする (完全なタッチ体験を実現するため、シネマティック体験を有効にするためなど)
状態の変更 タッチ適応バンドルのコンテキスト部分に含まれているゲーム状態の変更は、次の場合に使用します。
  • プレイヤーの現在のゲーム状態に基づいて、コントロールの画像/アイコノグラフィを変更する。いくつかの例:
    • プレイヤーが選択した武器に基づいて、発射ボタンの画像を変更する。
    • プレイヤーが現在インベントリに持っているアイテムに基づいて、能力の画像を変更する。
  • プレイヤーの現在のゲーム状態に基づいて、コントロールのビジュアル状態 (表示および有効) を変更する。いくつかの例:
    • プレイヤーに追加の弾薬がない場合、リロード ボタンを無効にする。
    • プレイヤーが対話可能なアイテムに近づいた場合、対話ボタンを表示する (離れると非表示にする)。

実行時のレイアウト変更

指定されたレイアウトを表示する ゲームは、新しいレイアウトを表示するために XGameStreamingShowTouchControlLayout API を使用する必要があります。 現在のレイアウトを非表示にする ゲームは、現在表示されているレイアウトを非表示にするために XGameStreamingHideTouchControls API を使用する必要があります。 ゲームが現在のゲームの状態に基づいてレイアウトを設定する方法の例:

実行時の状態変更

ゲームの起動時の初期状態は、タッチ適応バンドルに含まれる 既定の状態 によって定義されます。タッチ コントロール レイアウトでは、コントロールは実行時に変更される可能性のあるプロパティの状態を参照する必要があります。 ゲームは、実行時に状態を更新するために XGameStreamingUpdateTouchControlsState API を利用できます。 たとえば、無効の状態から始まって、その機能を持つべきときに有効になる「リロード」コントロールを持つには、以下を使用します。
ゲームは、状態を更新するために API 呼び出しを行います。
最終更新日 2026年8月13日