投稿

6月, 2011の投稿を表示しています

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

イメージ
XNA 4.0になって Effect.Begin、Effect.Endメソッドが無くなっていたので、Effectのクローンを作って対応してみた。 正解かどうかは不明だが・・・ 1.共通情報であるViewとProjectionをセットした後にクローンを作成             effect.View = Matrix.CreateLookAt(new Vector3(0, 0, -5), Vector3.Zero, Vector3.Up);             effect.Projection = Matrix.CreatePerspectiveFieldOfView(1, aspect, 1, 10);             //レクタングル描画用に複製を作る             effectRect = (BasicEffect)effect.Clone(); 2.描画             // トライアングルを描画             effect.VertexColorEnabled = true;             effect.TextureEnabled = false;             effect.World = Matrix.CreateFromYawPitchRoll(pitch, yaw, roll);             effect.CurrentTechnique.Passes[0].Apply();             GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleStrip, Vertices, 0, 1);             // レクタングルを描画             effectRect.VertexColorEnabled = false;             effectRect.TextureEnabled = true;             effectRect.Texture = texture;             effectRect.World = Matrix.CreateFromYawPitchRoll(-pitch, yaw, roll);      

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

イメージ
WindowsフォームでXNAによるポリゴン表示ができる様になったので、ContentManegerで画像を読み込み、テクスチャを貼ってみました。 AppHubのサンプルコード のドキュメントに記載の手順に従って実施。 「 まず、プロジェクトに沿ってコンテンツをビルドする必要があります。これは、XNA Framework のコンテンツ プロジェクトをソリューションに追加することで行います。また、コンテンツ プロジェクトは自身を直接ビルドすることができないため、コンテンツをビルドするためのゲーム ライブラリー プロジェクトも追加する必要があります。最初に、ソリューションに "空のコンテンツ プロジェクト" を追加し、新しいコンテンツ プロジェクトにコンテンツ ファイル (このサンプルで使用されている Arial.spritefont など) を追加します。次に、コンテンツのビルドに使用する "Windows ゲーム ライブラリー" プロジェクトを追加します。このライブラリー プロジェクトに実際に何らかのコードを追加する必要はないので、プロジェクト テンプレートによって追加された .csproj ファイルは削除してかまいません。次に、ゲーム ライブラリー プロジェクトを右クリックして   [コンテンツ参照の追加]   を選択し、コンテンツ プロジェクトを選択します。最後に、メインの WinForms プロジェクトを右クリックして   [参照の追加]   を選択し、ゲーム ライブラリー プロジェクトを選択します。これで、コンテンツ ファイルは、XNA Framework Content Pipeline を使用してビルドされ、実行可能ファイルと共にビルド出力フォルダーに自動的にコピーされます。 」 1)ソリューション内にコンテンツプロジェクトを新規追加 2) ソリューション内に ゲームライブラリープロジェクトを 新規 追加 3)コンテンツプロジェクト内に画像ファイルを追加 4)コンテンツプロジェクトの参照を追加 5)ゲームライブラリープロジェクトの参照を追加   「次に、コンテンツ ファイルを読み込むための  ContentManager  を作成する必要があります。 ContentMan

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

イメージ
XNAのサンプルのソースを流用して三角形を描画してみます。 1.class1.csに描画処理を記述 詳しくは ソースコード を参照ください。 2.フォームにボタン「button1」を追加 3.デザイン画面上で「button1」をダブルクリックしてイベント処理を追加します。 クリック毎に描画される三角形の頂点カラーを切り替える様にしました。 Form1.csより抜粋 // ボタンクリック時処理  private void button1_Click(object sender, EventArgs e)  {        switch (count)        {            case 0:                 class11.Vertices[0].Color = XnaColor.Yellow;                 class11.Vertices[1].Color = XnaColor.Cyan;                 class11.Vertices[2].Color = XnaColor.Magenta;                 count++;                 break;            case 1:                 class11.Vertices[0].Color = XnaColor.White;                 class11.Vertices[1].Color = XnaColor.Gray;                 class11.Vertices[2].Color = XnaColor.Black;                 count++;                 break;            default:                 class11.Vertices[0].Color = XnaColor.Red;                 class11.Vertices[1].Color = XnaColor.Green;                 class11.Vertices[2].Color = XnaC

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のサンプルコード コードを流用しますので、 コチラ からダウンロードして解凍しておきます。