XNA で Form を使う

XNA でゲームの画面と Form(Window)を同時に表示します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. XNA で作成したゲームプログラムを Windows の環境で動かすと一つのスレッドとして動作します。
    従って XNA のゲームを動かしながら Form(Window)を同時に表示することが出来るはずです。
    このコーナーでは Form のボタン操作で、XNA で作成したゲームのコントロールを行います。
    まず最初のステップとして、XNA のウインドウと Form を同時に表示してみましょう。
  2. XNA のテンプレートはなるべくシンプルな方が解りやすいので、 シンプルなソースコード を使うことにします。
    「シンプルなソースコード」のプロジェクトを作成して正常に起動することを確認して下さい。
  3. プロジェクトのフォルダーに Form を表示する MyForm.cs を格納します。
    [追加][既存の項目]から MyForm.cs をプロジェクトに追加して下さい。
    MyForm.cs のソースコードです。
    ソースコードの説明は 前田稔の超初心者のプログラム入門 から C#(Frame Work)入門のページ を参照して下さい。
    /*******************************/
    /*★ MyForm Class    前田 稔 ★*/
    /*******************************/
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Windows.Forms;
    
        public partial class MyForm : Form
        {
            private Game1 game;
    
            // コンストラクタ
            public MyForm(Game1 game1)
            {
                this.game = game1;
            }
    
        }
    
  4. Game1.cs の Initialize() を修正します。
    new で MyForm Class を生成して、form.Show() で表示します。
            // 初期化
            protected override void Initialize()
            {
                // TODO: Add your initialization logic here
                base.Window.Title = "XNA Game Studio";
    
                base.Initialize();
                // MyForm を生成
                MyForm form = new MyForm(this);
                form.Show();
            }
        
  5. ソリューション・エクスプローラーで「参照設定」を右クリックして「参照の追加」を選択します。
    次の DLL をプロジェクトに追加して下さい。
    System.Windows.Forms
    System.Drawing
  6. MyForm.cs はC#と同様に「デザイン画面とコードの表示」を切り替えることが出来ます。
    詳細は 前田稔の超初心者のプログラム入門 から C#(Frame Work)入門のページ を参照して下さい。
  7. プログラムを実行すると XNA のウインドウと Form の二個のウインドウが表示されます。
    Esc キーをタイプすると二個のウインドウが閉じられて終了します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

超初心者のプログラム入門(XNA(C#) game program)