SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows Phone 7.5でつくる3Dアプリケーション

SilverlightとXNAを融合させてWindows Phoneアプリケーションを開発しよう

Windows Phone 7.5でつくる3Dアプリケーション(2)

  • X ポスト
  • このエントリーをはてなブックマークに追加

Silverlight/XNAアプリケーションの作成

 Windows Phone SDK 7.1には、Silverlight/XNAアプリケーション専用のプロジェクトテンプレートが用意されています。このプロジェクトテンプレートを利用してプロジェクトを作成した場合、SilverlightとXNAが共存するアプリケーションを簡単に構築できます。

 具体的には、Visual Studioの[ファイル]メニューから[新しいプロジェクト]を選択し、[Silverlight for Windows Phone]もしくは[XNA Game Studio 4.0]カテゴリの一覧から[Windows Phone Silverlight/XNA アプリケーション]プロジェクトテンプレートを選択します。この際、SilverlightとXNAのどちらのカテゴリからプロジェクトテンプレートを選択しても、作成されるプロジェクトの内容に差異はありません。

Silverlightカテゴリからプロジェクトテンプレートを選択する場合
Silverlightカテゴリからプロジェクトテンプレートを選択する場合
XNAカテゴリからプロジェクトテンプレートを選択する場合
XNAカテゴリからプロジェクトテンプレートを選択する場合
…でもSilverlightカテゴリから作成することを推奨します

 執筆時点で最新のWindows Phone SDK 7.1(RTW)では、[XNA Game Studio 4.0]カテゴリからSilverlight/XNAプロジェクトを作成した場合、Expression BlendでXAMLファイルが編集できなかったり、プロジェクトの構成が崩れるなどの不具合が発生します。
 

XNAカテゴリから作成したSilverlight/XNAプロジェクトで発生する不具合
XNAカテゴリから作成したSilverlight/XNAプロジェクトで発生する不具合

 ただし、これらの不具合はSilverlightカテゴリから作成した場合には発生しません。このため、Silverlight/XNAプロジェクトを新規に作成する場合は、[Silverlight for Windows Phone]カテゴリから選択することを推奨します。

Silverlight/XNAプロジェクトの内容

 Silverlight/XNAプロジェクトの内容を見てみましょう。Silverlight/XNA専用のプロジェクトテンプレートを利用した場合、以下の構成でプロジェクトが構築されます。

Silverlight/XNAプロジェクトの基本構成
Silverlight/XNAプロジェクトの基本構成

 スタートアップ プロジェクトである「SlXnaApp1」に着目すると、「MainPage.xaml」や「GamePage.xaml」といった、Silverlight特有のXAMLファイルが存在しています。このことからも、Silverlight/XNAのベースとなるフレームワークは、Silverlightであることが伺えます。そこに、Contentプロジェクトである「SlXnaApp1LibContent」といった、XNAの要素が追加される形になっています。

 つまり、SilverlightとXNAを共存させるということは、Silverlightの上でXNAを動作させることであると言い換えることが可能です。

残りのプロジェクトについて

 Silverlight/XNAプロジェクトには、「SlXnaApp1」と「SlXnaApp1LibContent」のほかにも、「SlXnaApp1Lib」というプロジェクトが存在します。このプロジェクトは、Silverlightで構成された「SlXnaApp1」と、XNAの「SlXnaApp1LibContent」を仲介するために存在します。このように、異なるフレームワークを橋渡しするという規格外の運用をしているため、このプロジェクトを参照する「SlXnaApp1」では、プロジェクト参照において常に警告が発生しています。
 

プロジェクト参照において発生する警告
プロジェクト参照において発生する警告

 なお、Silverlight/XNAプロジェクトを実行した場合、以下のようなアプリケーションが起動します。このアプリケーションでは、Silverlightで構築されたUI画面(MainPage)のボタンを押下すると、XNAで構築された水色の画面(GamePage)に遷移します。

Silverlight/XNAプロジェクトの実行結果
Silverlight/XNAプロジェクトの実行結果

 このように、Silverlight/XNAアプリケーションは、専用のプロジェクトテンプレートを利用することで簡単に作成できます。それでは、ソースコードの中身まで追っていきましょう。

次のページ
Silverlightの上でXNAが動作する画面

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Windows Phone 7.5でつくる3Dアプリケーション連載記事一覧

もっと読む

この記事の著者

もとひろん(モト スクウェア ソリューション)

自営業でシステムエンジニアを営んでおります。主に.NETテクノロジによるシステム開発を得意としておりますが、いざとなれば何でもやります。ふつつかものですが、よろしくお願い致します!WebサイトMOTO SQUARE SOLUTIONTwitter@MOTOSQUARE 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6244 2011/11/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング