超初心者のプログラム入門(XNA)

前田稔(Maeda Minoru)の超初心者のプログラム入門(XNA(C#) game program)のページへようこそ。

XNA は Windowsゲーム及びコンシューマゲームやモバイルゲームをC#で開発するための環境です。
XNA Game Studio 3.0(Ver2.0) に合わせて、見直し(修正)を行っています。 (^_^;
Ver3.0 と Ver2.0 はプロジェクトに多少の違いはありますが、ソースコードに違いは無いようです。

ホームページの画像は容量節約のため他の言語と共有しています。
従って、ページの説明とは必ずしも一致しない場合があるので、お含み置き下さい。
また一部の大きな画像はアップロードしていないのでご了承下さい。

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

XNA(C#) index

XNA Game Studio 3.0

    XNA 入門

  1. XNA Game Studio 3.0 の説明
    C# XNA Game Studio Express 3.0 の説明です。
  2. 自動的にプロジェクトを作成する(Ver3.0)
    XNA Game Studio のテンプレートを使って、自動的にプロジェクトを作成します。
  3. 自動的にプロジェクトを作成する(Ver2.0)
    XNA Game Studio のテンプレートを使って、自動的に Ver2.0 のプロジェクトを作成します。
  4. Spacewar をコンパイルする(Ver2.0)
    XNA Game Studio 2.0 のサンプルプログラム Spacewar をコンパイルします。
  5. ウインドウサイズとタイトルの表示
    ウインドウのサイズを大きくして、タイトルを表示します。
    また Esc キーが押されると、プログラムを終了します。
  6. シンプルなソースコード
    余分なコードを削除してシンプルにソースコードをまとめてみました。

    画像の描画

  7. 画像ファイルを描画する
    XNA の SpriteBatch で画像ファイルを描画します。
    ★Game1.cs のサンプルコードを TEXT 形式で提供します。
  8. 透明色を設定した画像ファイルを描画する
    XNA で透明色やアルファチャンネルを設定した画像を描画します。
  9. 画像をリソースとして組み込む
    背景に透明色を設定した画像をリソースとしてプロジェクトに組み込みます。
  10. Full Screen Mode
    全画面モ−ド(Full Screen)で画像を描画します。
  11. 乱数を発生させてタイトルバーに表示
    XNA で乱数を発生させて、ウインドウのタイトルバーに表示します。
  12. 矢印キーでシップを動かす
    XNA で上下左右の矢印キーで、自機を操作します。
  13. 矩形を描画する
    XNA で様々なサイズと色の矩形を簡単に描画する方法です。
  14. 画像を読みながらアニメーション
    XNA で一連番号を付けた画像ファイルを読みながらアニメーションします。
  15. spBatch で画像を回転
    spriteBatch で画像を回転します。
    深度(Zバッファの値)を使う方法も説明します。
  16. Enemy の方向に Ship を向ける
    Enemy の移動に合わせて Ship を回転します。

    画像の切り出し

  17. spriteBatch で画像を切り出す
    spriteBatch で画像を切り出して描画します。
  18. 背景画像のスクロール
    背景画像を TotalGameTime を使ってスクロールします。
  19. スポットライトで照す
    XNA でイメージ画像をスポットライトで照らします。
  20. spriteBatch でアニメーション
    XNA の spriteBatch を使ってアニメーションを行います。
    黒を透明色に設定する方法も説明します。

    Array(配列)

  21. 弾丸を一斉に発射
    配列を使って弾丸を一列に並べて発射します。
    実行形式が置かれているフォルダーから相対的に画像ファイルを参照します。
  22. 弾丸を連射
    配列を使って弾丸を連射します。
  23. 当たり判定と爆発
    弾丸の当たり判定と爆発のアニメーションです。

    キー & マウス & コントローラ

  24. キープレスの時間をカウント
    XNA でキープレスの時間とキーアップの時間をカウントします。
  25. キーの連打をカウント
    XNA でキーの連打をカウントします。
  26. 押されている Key を調べる
    XNA で現在押されているキーを調べます。
  27. マウスで画像を操作する
    XNA でマウスの左ボタンをクリックすると画像がついてきます。
  28. トリガの情報を取得する
    コントローラのトリガ(Triggers)の情報を取得します。
  29. サムスティックの情報を取得する
    サムスティック(ThumbSticks)の情報を取得します。
  30. サムスティックでシップを動かす
    XNA でサムスティックの操作でシップを動かします。
  31. フォースフィードバック
    コントローラのフォースフィードバック機能の使い方です。

    Object Class

  32. DrawFonts Class で英数字を表示
    英数字を表示する DrawFonts Class を作成します。
  33. Shot Class で弾丸を連射
    弾丸を連射する Shot Class を作成します。
  34. Image Class でアニメーション
    XNA で Image Object Class を定義してアニメーションを行います。
  35. Score を表示
    XNA で画像を使ってゲームのスコアを表示します。
  36. Array Class で同心円状に広がるように弾を発射
    Space キーを押すと、Array Object Class を使って同心円状に広がるように弾を一斉に発射します。
  37. Image & Array で弾丸を連射
    Image Class & Array Class で、機関銃のように弾丸を連射します。

    Struct(構造体)

  38. 構造体で Enemy のコースを設定
    構造体(Struct)で Enemy の出現コースを設定します。
  39. Enemy が動き回るルートを設定
    Enemy の画像と、動き回るルートを構造体の配列で設定します。
  40. サインカーブで動かす
    サインカーブで Enemy を動かします。

    ArrayList

  41. 螺旋状に弾を発射
    XNA で ArrayList を使って螺旋状に弾を発射します。
  42. static を使って Base Class を作成
    static を使って画像描画の基本となる Base Class を作成します。
    ウインドウの枠に当たると画像がバウンドします。
  43. Dust を大量に噴射する
    シンプルな Base Class を継承して Dust を大量に撒き散らします。
  44. Object Class File
    ArrayList に適した Object Class を作成して、ファイル名を分けて組み込みます。
    自機からの弾丸を発射して、敵機との当たり判定を行います。
  45. Base Class を継承する
    Base Class を継承して Shot Class や Char Class を作成します。
  46. Array List に混在して登録する
    Array List に混在して登録した Class を統一的に管理します。
  47. 抽象クラスで弾丸を統一して管理する
    抽象クラスを継承して ArrayList で弾丸を統一して管理します。

    Back Ground

  48. Mapchip を組み合わせて背景を作成
    Mapchip 画像をタイルのように組み合わせて背景を作成します。
  49. BG でキャラクタを制御する
    Map Chip を背景にキャラクタが歩き回ります。
  50. BG をドット単位にスクロール
    Map Data を TEXT FILE から入力します。
    BG(Back Ground) をドット単位にスクロールします。
  51. BG を二枚重ねる
    BG を二枚重ねて、その間にキャラクタを置くことにより、背景に奥行きを持たせます。
  52. BG を切り替える
    秘密の通路をくぐると、ダンジョンの BG に切り替わります。

    文字列の表示

  53. フォントを設定して Score を表示
    XNA でフォントを設定してゲームのスコアを表示します。
  54. 日本語文字を表示
    XNA でフォントを設定して日本語文字を表示します。

    Sound

  55. BackMusic を演奏
    XNA でゲームの BackMusic を演奏します。
  56. 効果音を鳴らす
    XNA で効果音を鳴らします。
  57. Volume の設定
    XNA でサウンドの Volume を設定します。

    XNA Program Note

  1. Image File Name を配列で定義
    String の配列を使って、Image File Name を定義します。
  2. TEXT FILE を入力
    XNA で TEXT FILE を入力します。
  3. TEXT 文字列(数字)を int に変換
    カンマで区切られた TEXT 文字列を int に変換して印字します。
    ★Console.WriteLine()で印字した内容は「出力ウインドウ」に表示されます。
  4. アプリケーションを起動する
    XNA から他のアプリケーションを起動します。
  5. AVI を再生する
    XNA からAVIファイルを再生します。
  6. ガベージコレクションを起動
    ガベージコレクション(Garbage Collection)のプログラムです。

    XNA 3D Sample Game

  1. Spacewar をコンパイルする
    XNA Game Studio 2.0 のサンプルプログラム Spacewar をコンパイルします。

    Primitive の基礎

  2. ポイントプリミティブの描画
    XNA の Direct3D でポイントプリミティブを使って点を描画します。
  3. ラインプリミティブの描画
    XNA の Direct3D でラインプリミティブを使って直線を描画します。
  4. ポリゴンの描画
    XNA の Direct3D でトライアングルを使ってポリゴンを描画します。
  5. 矩形に色を設定して描画
    XNA の Direct3D でトライアングルを組み合わせた矩形に色を設定して描画します。
  6. 四面体に色を設定して描画
    四面体の頂点に色を設定して回転しながら描画します。
  7. 立方体に色を設定して描画
    立方体の各面に異なる色を設定して回転しながら描画します。
    ポリゴンの頂点座標の並び順とカリングに付いて説明します。

    テクスチャーの貼り付け

  8. テクスチャーの基本
    矩形にテクスチャーを貼り付て描画します。
  9. 矩形にテクスチャーを貼り付ける
    矩形にテクスチャを繰り返して(分割して)貼り付けます。

    光源を使う

  10. 立方体を光源で照らす
    立方体を光源で照らして描画します。
  11. チューブを生成して光源で照らす
    チューブを生成して、光源で照らしながら描画します。
  12. テクスチャを貼り付けて光源で照らす
    チューブにテクスチャを貼り付けて、光源で照らしながら描画します。

    3Dモデルの描画

  13. Cone.x を描画する
    XNA で3Dモデル(Cone.x) を回転しながら描画します。
  14. Spacewar の3Dモデルを描画する
    XNA で Spacewar の3Dモデル(p1_wedge.fbx) を回転しながら描画します。
  15. Spacewar の3Dモデルを操作する
    XNA で Spacewar の3Dモデルを、キーの操作で移動/回転します。

    Shader のプログラム

  16. Shader を使って立方体を描画
    XNA で Shader を使って立方体の各面に色を設定して描画します。
  17. 立方体にテクスチャを貼り付ける
    XNA で Shader を使って立方体にテクスチャを貼り付けます。

    NET Game

  1. NET Game 入門
    XNA で作成する NET Game の基礎です。
  2. 交信情報を画面表示
    キャラクタにゲーマータグを付けて動かしながら、交信した情報を画面表示します。

    Form を使う

  1. XNA で Form を使う
    XNA でゲームの画面と Form(Window)を同時に表示します。
  2. Form の Click Event
    Form の Click Event で Game1 のキャラクタを動かします。

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

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