导出 (0) 打印
全部展开

如何使用 Windows Phone 游戏邀请任务

2012/2/9

使用游戏邀请任务可以显示游戏邀请屏幕,该屏幕允许用户邀请多个玩家加入一个多人游戏会话。邀请是异步发送的。

使用选择器,可以帮助您在 Windows Phone 平台中提供一致的用户体验。有关更多信息,请参阅 Windows Phone 启动器和选择器概述

警告说明警告:

仅当从游戏中调用,且该游戏经批准可在 Windows Phone 上的 Xbox LIVE 中发布时,游戏邀请任务才有效。有关更多信息,请参阅开发 Windows Phone 7 游戏

使用游戏邀请任务

  1. 将以下语句添加到您的代码中。

    using Microsoft.Phone.Tasks;
    
  2. 声明任务对象。它必须具有页面范围,因此应在页面中的构造函数之前声明它。

    GameInviteTask gameInviteTask;
    
  3. 将以下代码添加到您的页面构造函数中。此代码初始化任务对象,并标识要在用户完成任务后运行的方法。

    gameInviteTask = new GameInviteTask();
    gameInviteTask.Completed += new EventHandler<TaskEventArgs>(gameInviteTask_Completed);
    
  4. 在应用程序中的所需位置添加以下代码,例如按键点击事件中。为了测试此过程,可以将该代码放置在页面构造函数中。以下是启动任务的代码。

    try
    {
        gameInviteTask.SessionId = "<my session id>";
        gameInviteTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
    
  5. 在页面中添加已完成事件处理程序的代码。此代码在用户完成任务后运行。您可以检查邀请是否已成功发送。

    void gameInviteTask_Completed(object sender, TaskEventArgs e)
    {
        switch(e.TaskResult)
        {
            //Game logic for when the invite was sent successfully
            case TaskResult.OK:
                MessageBox.Show("Game invitation sent.");
                break;
    
            //Game logic for when the invite is cancelled by the user
            case TaskResult.Cancel:
                MessageBox.Show("Game invitation cancelled.");
                break;
    
            // Game logic for when the invite could not be sent
            case TaskResult.None:
                MessageBox.Show("Game invitation could not be sent.");
                break;
        }
    }
    

显示:
© 2015 Microsoft