次の方法で共有


XGameStreamingShowTouchControlLayoutOnClient

要求されたタッチ コントロールのセットを単一のクライアントに表示します。

構文

void XGameStreamingShowTouchControlLayoutOnClient(  
         XGameStreamingClientId client,  
         const char* layout  
)  

パラメーター

client _In_
型: XGameStreamingClientId

タッチ コントロールを表示するストリーミング クライアント デバイス。

layout _In_opt_z_
型: char*

表示するタッチ コントロール レイアウトの名前、または既定のレイアウトを表示する場合は nullptr。

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

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

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

戻り値

型: void

解説

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

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

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

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

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

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

要件

ヘッダー: xgamestreaming.h

ライブラリ: xgameruntime.lib

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

関連項目

XGameStreamingHideTouchControlsOnClient
XGameStreamingShowTouchControlLayout
XGameStreaming