次の方法で共有


Multiplayer Manager を使用したゲームへの招待の送信

シンプルなマルチプレイヤーのシナリオでは、ゲームのプレイヤーがフレンドとオンラインでプレイすることができます。 このトピックでは、他のプレイヤーにゲームへの招待を送信する手順について説明します。

Multiplayer Manager を初期化し、ローカル ユーザーを追加してロビー セッションを作成します。 詳細については、「Multiplayer Manager を使ったフレンドとのマルチプレイヤー ゲームのプレイの有効化」を参照してください。 XblMultiplayerEventType::UserAdded イベントの受信後に、招待の送信を開始できます。

招待は 2 つの方法で送信することができます。

プロセスの詳細については、「別のプレイヤーに招待を送信する (フローチャート)」を参照してください。

Xbox プラットフォームの招待 TCUI

XblMultiplayerManagerLobbySessionInviteFriends を呼び出し、標準 Xbox UI を表示して、プレイヤーはフレンドや最近遊んだプレイヤーを選んでゲームに招待できるようにします。 プレーヤーが選択を確認すると、Multiplayer Manager は選択したプレイヤーに招待を送信します。

フラット C API

std::string customActivationContext = "{ \"customGameData\": 1 }"; // This string can be anything your game sends across to the invited player's game.

HRESULT hr = XblMultiplayerManagerLobbySessionInviteFriends(xuserHandle, nullptr, customActivationContext.c_str());

Multiplayer Manager は、Xbox プラットフォームの招待 TCUI を使用プレイヤーを招待するために、以下の機能を実行します。

  • Xbox 標準の TCUI を表示します。
  • 選択されたプレイヤーに直接、招待を送信する。

タイトルで実装したカスタム UI

タイトルでは、オンラインのフレンドを表示して招待するためのカスタム TCUI を実装できます。 ゲームでは XblMultiplayerManagerLobbySessionInviteUsers 方式を使用して、Xbox Live ユーザー Id によって定義されている一連のユーザーに招待を送信することができます。 これは、標準 Xbox UI の代わりに独自のゲーム内 UI を使用する場合に役立ちます。

フラット C API

size_t xuidsCount = 1;
uint64_t xuids[1] = {};
xuids[0] = 1234567891234567;
HRESULT hr = XblMultiplayerManagerLobbySessionInviteUsers(
    xblUserHandle, 
    xuids, 
    xuidsCount, 
    nullptr,    // ContextStringId 
    nullptr     // CustomActivationContext
);

タイトルで実装したカスタム UI を使用する場合、Multiplayer Manager は選択したプレイヤーに直接招待を送信します。