다음을 통해 공유


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