XNA(Game API) > スターター キット
丸山塾:クラウド型プログラミング習得スクール(塾) |
スターター キット
XNA-スターター キット : Platformer 徹底解剖!
msdnはこちらを参照 実際の画面は下記の通り。MSDNの画像は違っている?ので混乱してしまうかも。
そこで、実体のPlatformerとmsdを比較しながら、実体の解析をすることにした。
プレイヤーの制御は、
←方向が「A」または「←キー」、
→方向が「D」または「→キー」で移動することができる。
ジャンプは「スペース」キーで行う。
※ソースコードは、新規プロジェクトのテンプレートより生成したものを使用。
リソース(スターター キットのアセット)
Backgrounds
Overlays
Sprites
Tiles
Levels(各レベルのタイルパターン)
プレイヤーの開始位置、タイルのレイアウト、宝石、出口(EXIT)、モンスターはのデザイン(配置)は各レベル毎にTextファイルで定義する。
指定文字 | 意味 |
. | ブランク |
1 | 「プレイヤー」開始位置 |
X | Exit(出口) |
- | 通過できるブロック |
~ | プラットフォームブロック |
: | 偽ブロック |
# | 固定ブロック |
G | 宝石 |
A | モンスターA |
B | モンスターB |
C | モンスターC |
D | モンスターD |
ソースコードの解析
名前 | 説明 |
Gem | 浮遊する「宝石」-宝石の読み込み、描画、更新を行う |
Circle (構造体) | 「宝石」オブジェクトに対する衝突の有無をチェックするための円形領域 |
Tile (構造体) | 「タイル」の基本的な情報を格納 |
TileCollision (列挙型) | 「タイル」に指定できるさまざまな衝突のタイプ
を格納 タイプには、通り抜け可能、通り抜け不能、プラットフォーム)がある |
AnimationPlayer (構造体) | Animation によって格納されたアニメーションの再生を実装 |
Animation | アニメーション テクスチャーを格納します。プレイヤー キャラクターと敵のスプライト シートをアニメーション表示するために使用 |
Enemy | 敵をゲームに実装(敵を読み込み、描画、および更新するために使用) |
FaceDirection (列挙型) | 敵が向くことができるさまざまな方向を格納 |
PlatformerGame | コンテンツおよびレベルの読み込み、HUD 管理および表示、ゲーム オブジェクトの更新などの主要なゲーム コンポーネントを実装します。 |
Level | 「レベル」をゲームに実装します。Level オブジェクトには、タイルの多次元配列、プレイヤー キャラクター、開始および終了点、ポイントの合計、レベルの残り時間、宝石のリスト、および敵のリストが含まれています。 |
Player | 「プレイヤー キャラクター」 キャラクターを読み込み、描画、および更新するために使用 |
RectangleExtensions | 標準 XNA Framework 構造体 Rectangle の拡張を実装します |
クラス図を並べてみても、よく分からない。
なぜなら、それぞれのクラスの役割や機能だけでなく、クラス間の結合やシーケンスが見えてこないからだ。
はじめに実行される「PlatformerGameクラス」