シンプルなソースコード

余分なコードを削除してシンプルにソースコードをまとめてみました。

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

プログラムの説明

  1. テンプレートを使って、自動的にプロジェクトを作成すると冗長なソースコードが吐き出されます。
    そこで、余分なコードを削除してシンプルにソースコードをまとめてみました。
    自動的に作成されたソースコードと比べてみて下さい。
  2. テンプレートを使ったプロジェクトには、二個のCSファイルが作成されます。
    Program.cs
    Game1.cs
    本来分ける必要は無いので、Game1.cs としてまとめてみました。
  3. Game1.cs の全ソースコードです。
    このソースコードを使うときは、プロジェクトから Program.cs を削除して下さい。
    /************************************/
    /*★ XNA Simple Source    前田 稔 ★*/
    /************************************/
    #region Using Statements
    using System;
    using System.Collections.Generic;
    using Microsoft.Xna.Framework;
    using Microsoft.Xna.Framework.Audio;
    using Microsoft.Xna.Framework.Content;
    using Microsoft.Xna.Framework.GamerServices;
    using Microsoft.Xna.Framework.Graphics;
    using Microsoft.Xna.Framework.Input;
    using Microsoft.Xna.Framework.Net;
    using Microsoft.Xna.Framework.Storage;
    #endregion
    
    #region Main メソッド
        static class Program
        {
            static void Main(string[] args)
            {
                using (Game1 game = new Game1())
                {
                    game.Run();
                }
            }
        }
    #endregion
    
    #region Game1 Class
        public class Game1 : Microsoft.Xna.Framework.Game
        {
            GraphicsDeviceManager graphics;
            SpriteBatch spriteBatch;
    
            // コンストラクタ
            public Game1()
            {
                graphics = new GraphicsDeviceManager(this);
                Content.RootDirectory = "Content";
            }
    
            // 初期化
            protected override void Initialize()
            {
                base.Window.Title = "XNA Game Studio";
                base.Initialize();
            }
    
            // グラフィック読込み
            protected override void LoadContent()
            {
                spriteBatch = new SpriteBatch(GraphicsDevice);
            }
    
            // グラフィック破棄
            protected override void UnloadContent()
            {
            }
    
            // アップデート処理
            protected override void Update(GameTime gameTime)
            {
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed  ||
                    Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit();
                base.Update(gameTime);
            }
    
            // 描画処理
            protected override void Draw(GameTime gameTime)
            {
                graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
                base.Draw(gameTime);
            }
        }
    #endregion
    

プロジェクトに必要なファイル

プロジェクト名を Main で作成したときの必要最小限のフォルダーとファイルです。
ファイル(フォルダー)
Main\Content\ フォルダー
Main\Properties\ フォルダー
Main\Game.ico
Main\Game1.cs
Main\Main.csproj
Main\Content\Content.contentproj
Main\Properties\AssemblyInfo.cs

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

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