WindowsフォームアプリでXNAを使ってみる

久しぶりの投稿です。

Windowsフォーム上の図形描画アプリを作っていたのですが、描画処理が遅いのでXNAにしよう。
でも、図形描画以外は.NetframeWorkを便利に使いたいという事で、AppHUBに掲載されていたサンプルコードを元に色々試してみた結果、WindowsフォームアプリでXNAを使う為の手順を覚書として記録しておきます。



開発環境(全て無償)

■Visual c# 2010 Express
インストールはコチラから。
※インストールから30日で使用期限が切れます。WindowsLiveのアカウントを所有していれば登録により使用期限が解除されて無制限になります。

■XNA Game Studio 4.0
インストールはコチラから。

■XNA Game Studio 4.0 日本語パック
インストールはコチラから。

■XNAのサンプルコード
コードを流用しますので、コチラからダウンロードして解凍しておきます。


1.VC#を起動してWindowsフォームアプリケーションで新規プロジェクトを作ります。

2.XNAを扱う為に必要な参照を追加します(今回は必要最低限のみです)
Microsoft.XNA.Framework
Microsoft.XNA.Framework.Graphics



3.展開済みのサンプルコードから流用するコードを追加します。
GraphicsDeviceControl.cs
GraphicsDeviceService.cs
ServiceContainer.cs



4.XNAによる描画処理用に新規のクラスを作成します。


5.コードを記述

using でXNA及びサンプルから追加したコードへの参照の宣言
新規作成したclass1をGraphicsDeviceControlの派生クラスとします。

Initialize()とDraw()をoverrideで定義
※throw new NotImplementedException();はVC#が自動で生成されます。
コードを記述したら不要になるので削除します。



6.ビルド



7.XNAでの描画領域を配置する。

正常にビルドされるとツールボックス内に作成したクラス名のコンポーネントが生成されているはずですので、Windowsフォームのコンポーネントと同様に、デザイン画面上にドラッグする事で配置が可能になります。



プロパティ設定にて、DockをFillにすれば、Formウィンドウ全領域にフィットさせる事も可能です。


これで、Windowsフォーム内にXNAで描画する為の準備は終了です。

コメント

このブログの人気の投稿

ARM用クロスコンパイラのビルド(Windows8+Cygwin)

Raspberry Pi のsleep時間測定

Cygwin+Emacs Problem