酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows PhoneでGameInviteTaskを使って他のプレイヤーにゲームの招待画面を表示する

概要

アプリケーションは、ユーザーがマルチプレイヤーゲームのセッションにプレイヤーを招待できるようにするゲームの招待画面を表示することができます。

名前空間:Microsoft.Phone.Tasks

System.Object
 +--Microsoft.Phone.Tasks.ChooserBase<TaskEventArgs>
  +--Microsoft.Phone.Tasks.GameInviteTask

Tips

他のプレイヤーにゲームの招待画面を表示する

GameInviteTaskは、ユーザーがマルチプレイヤーのゲームに他のユーザーを招待する画面を表示するセレクターです。

GameInviteTaskクラスのShowメソッドを実行すると、ゲームへの招待画面が起動します。Windows Phone の Xbox LIVE でリリースが承認されたゲーム内から呼び出した場合にのみ機能します。

C#

using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace GameInviteTaskTest {
    public partial class MainPage : PhoneApplicationPage {
        // コンストラクター
        public MainPage() {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e) {
            var task = new GameInviteTask();
            task.Completed += new EventHandler<TaskEventArgs>(task_Completed);
            // セッションIDはユニークなIDを指定します
            task.SessionId = "SomeSessionID";
            task.Show();
        }

        void task_Completed(object sender, TaskEventArgs e) {
            switch (e.TaskResult) {
                case TaskResult.OK:
                    // ゲームへの招待に成功
                    break;
                case TaskResult.Cancel:
                    // ユーザーによって招待をキャンセルされた
                    break;
                case TaskResult.None:
                    //  ゲームへの招待が出来なかった
                    break;
            }
        }
    }
}

VB.NET

Imports System.Windows
Imports Microsoft.Phone.Controls
Imports Microsoft.Phone.Tasks

Namespace GameInviteTaskTest
    Public Partial Class MainPage
        Inherits PhoneApplicationPage
       ' コンストラクター
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
            Dim task = New GameInviteTask()
            task.Completed += New EventHandler(Of TaskEventArgs)(AddressOf task_Completed)
           ' セッションIDはユニークなIDを指定します
            task.SessionId = "SomeSessionID"
            task.Show()
        End Sub

        Private Sub task_Completed(sender As Object, e As TaskEventArgs)
            Select Case e.TaskResult
                Case TaskResult.OK
                   ' ゲームへの招待に成功
                    Exit Select
                Case TaskResult.Cancel
                   ' ユーザーによって招待をキャンセルされた
                    Exit Select
                Case TaskResult.None
                   '  ゲームへの招待が出来なかった
                    Exit Select
            End Select
        End Sub
    End Class
End Namespace

参照