次の方法で共有


XGameStreamingShowTouchControlLayout

接続されているすべてのストリーミング クライアントに対して、指定したタッチ レイアウトを表示するように要求します。

構文

void XGameStreamingShowTouchControlLayout(
         const char* layout  
)  

パラメーター

layout _In_opt_z_
型: char*

表示するタッチ コントロール レイアウトの名前、または標準の Xbox コントローラー レイアウトを表示する nullptr

ストリーミング クライアント デバイスに表示する必要のあるタッチ コントロール レイアウトの ID を指定します。 レイアウト ID はタイトルに固有で、タッチ アダプテーション キットの一部として Xbox ゲーム ストリーミング に提供されるレイアウトの ID と対応するものです。 この文字列は UTF-8 でエンコードされていると見なされます。

nullptr が指定された場合、タッチ コントロールの既定のセットが表示されます。

タイトルのタッチ コントロール レイアウト ID に対応しない文字列は、クライアント デバイスのタッチ コントロールの状態は変更されません。 このような場合、コンテンツ テスト アプリケーションで診断が提供される場合があります。

戻り値

型: void

解説

この API は、現在のすべてのゲーム ストリーミング クライアントに対して、プレイヤーのクライアント デバイスに特定のタッチ コントロール レイアウトを表示するように要求します。 プレイヤーがゲームをストリーミングしていない場合、またはストリーミング先のデバイスでタッチが有効になっていない場合、この関数は何も行いません。

プレイヤーがタッチ コントロールではなく物理コントローラーを使っている場合は、この関数を呼び出しても、デバイスにタッチ コントロールが強制的に表示されることはありません。 代わりに、プレイヤーが次回タッチ コントロールを使い始めると、最後に要求されたレイアウトがクライアントによって使用されます。

この関数は、プレイヤーがタッチ コントロールを使っている場合に、現在のゲーム状態に最も適したタッチ コントロール レイアウトをクライアント デバイスに伝えるヒントのようなものです。 それらのコントロールをプレイヤーの画面に配置する最適なタイミングは、クライアント デバイスによって管理されます。

XGameStreamingShowTouchControlLayout を呼び出すと、そのたびにネットワーク経由でメッセージが送信されます。このため、フレームごとに呼び出すことは避ける必要があります。 この API は、ゲームで異なるタッチ コントロール レイアウト間を遷移する必要がある場合にのみ呼び出してください。

XGameStreamingShowTouchControlLayout が呼び出されたときにクライアント デバイスが接続されていない場合は、クライアントが接続されたときに、最後に要求されたタッチ コントロール レイアウトが表示されます。

接続されている特定のストリーミング クライアント デバイスにタッチ コントロール レイアウトを表示する場合は、代わりに XGameStreamingShowTouchControlLayoutOnClient の使用を検討してください。

void OnGameStateChanged(GameState newState)
{
    // Toggle to the set of touch overlay controls which best match the new state of the game
    switch (newState)
    {
    case GameState::FirstPersonAction:
        XGameStreamingShowTouchControlLayout("FirstPersonAction");
        break;
    case GameState::Driving:
        XGameStreamingShowTouchControlLayout("Driving");
        break;
    case GameState::CutScene:
        // Don't show any touch overlay controls while the cut scene is rendering
        XGameStreamingHideTouchControls();
        break;
    }
}

要件

ヘッダー: xgamestreaming.h

ライブラリ: xgameruntime.lib

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

XGameStreamingHideTouchControls
XGameStreamingShowTouchControlLayoutOnClient
XGameStreaming