ウインドウサイズとタイトルの表示

ウインドウのサイズを大きくして、タイトルを表示します。
また Esc キーが押されると、プログラムを終了します。

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

プログラムの説明

  1. XNA Game Studio のテンプレートを使って、自動的にプロジェクトを作成して下さい。
    プロジェクト名に [Main] とタイプして下さい。
    詳細は 自動的にプロジェクトを作成する を参照して下さい。

  2. テンプレートが作成されたままの状態で動かしてみましょう。
    メニューの [デバッグ] から [デバッグ開始] または [デバッグなしで開始] を選択すればコンパイルされ、エラーが無ければ実行されます。
    新しい空のウインドウが表示されたらOKです。
    実行の確認が終われば、ウインドウを閉じて下さい。
  3. [Game1.cs] のソースコードを表示して下さい。
    ソースコードの表示は、ソリューションエクスプローラから [Game1.cs] を選んで右クリックします。
    一覧から [コードの表示] を選ぶとソースコードが表示されます。
  4. Constructor にウインドウのサイズを設定するコードを追加します。
    ウインドウのサイズを、幅=1200, 高さ=800 に設定してみました。
    規定値では、幅=800, 高さ=600 に設定されています。
            public Game1()
            {
                graphics = new GraphicsDeviceManager(this);
                Content.RootDirectory = "Content";
                graphics.PreferredBackBufferWidth = 1200;
                graphics.PreferredBackBufferHeight = 800;
            }
        
  5. Initialize() メソッドに、ウインドウのタイトルバーに "XNA Game Studio" と表示するコードを追加して下さい。
            protected override void Initialize()
            {
                // TODO: Add your initialization logic here
                base.Window.Title = "XNA Game Studio";
    
                base.Initialize();
            }
        
  6. Update() メソッドに Esc キーが押されるとプログラムを終了するコードを追加します。
    ここには最初から Back Button が押されるとプログラムを終了するコードが書かれています。
    プログラムの終了条件に Esc キーを追加するだけです。
            protected override void Update(GameTime gameTime)
            {
                // Allows the game to exit
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed ||
                    Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit();
    
                // TODO: Add your update logic here
    
                base.Update(gameTime);
            }
        
  7. ツールバーからデバッグ開始(緑の右三角)をクリックするとプログラムが実行されます。
    ウインドウのタイトルバーに "XNA Game Studio" が表示されたらOKです。
    ウインドウのサイズが大きくなったことを確認して下さい。
    Esc キーを押してプログラムが終了することを確認して下さい。

【演習】

ウインドウのキャプションに、あなたの名前を表示して下さい。

削除することが可能なファイル

大きなファイルをそのまま残しておくと、ハードディスクが一杯になってしまいます。
またDVDにバックアップするときにも不都合なので、削除することが可能なファイルを調べてみました。
削除したファイル(フォルダー)は、再度ビルドすると自動的に作成されます。

再度ビルドするには [XNA Game Studio] を起動して拡張子が「.sln」のファイルを選択するとプロジェクトが開きます。
または、拡張子が「.sln」のファイルをダブルクリックして開くことも出来ます。
「.sln」のファイルが見つからないときは「.csproj」をダブルクリックして開くことも出来ます。

「ソリューションのディレクトリを作成(D)」のチェックを外した場合

c:\TMP\ に Main のプロジェクトを作成してみました。
以下のファイル(フォルダー)は削除することが出来ます。
ファイル(フォルダー)
Main\Main.suo
Main\Main\bin フォルダー
Main\Main\obj フォルダー
Main\Main\GameThumbnail.png
Main\Main\Content\bin フォルダー
Main\Main\Content\obj フォルダー


「ソリューションのディレクトリを作成(D)」のチェックを入れた場合

c:\TMP\ に HelloWorld のプロジェクトを作成してみました。
×印は削除可能なファイル(フォルダー)です。
c:\TMP\HelloWorld\
  WindowsGame1\
    WindowsGame1\
×    bin\
      Content\
×      bin\
×      obj\
        Content.contentproj
×    obj\
      Properties\
        AssemblyInfo.cs
      Game.ico
      Game1.cs
×    GameThumbnail.png
      Program.cs
      WindowsGame1.csproj
    WindowsGame1.sln
×  WindowsGame1.suo 

【注意】

XNA Game Studio のテンプレートを使って、自動的に作成した Game1.cs の namespace は WindowsGame1 になっています。
この名前は、普通に作成するとプロジェクトのフォルダー名が使われます。
WindowsGame1 のプロジェクトが存在するときは WindowsGame2 になります。
//Game1.cs の namespace
namespace WindowsGame1
{

WindowsGame1 は Program.cs の namespace でも使われています。
Game1.cs と Program.cs の namespace は同じ名前でなければコンパイルエラーになります。
私が提供しているソースコードの namespace は WindowsGame1 になっていないものがあるので注意して下さい。
//Program.cs の namespace
using System;

namespace WindowsGame1
{

<summary>

自動的に作成される Game1.cs には <summary> が使われています。
「/// <summary>」は「/// </summary>」と対になって、関数名をタイプしたときなどに案内として表示されるコメントを記述します。


#region

#region と #endregion でくくってソースコードを折り畳んでプログラムを見やすくすることが出来ます。
    #region コンストラクタ
    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";
    }
    #endregion

超初心者の方のために全ソースコードを掲載します。 (^_^;)
全ソースコード

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

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