忍者ブログ
メンバー向けブログです。
[10] [9] [8] [7] [6] [5] [4]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

書店で「ゲームコーディングコンプリート」立ち読み中。流石に買えないぜ…

■イベントっていう考え方

クラス間で情報をやりとりする場合、参照を持たせ合っていたら何がどれを持っているかわけわからなくなる。
つーかincludeがえらいことになる。
だから参照を持ったクラスを一つ用意しておいて、そのクラスにイベントを投げてデータを処理してもらう。

■プロセス
イベントは瞬間的に発生するもので、プロセスってのは数Fに渡って持続する状態。他オブジェクトのプロセスを変更したい場合も、一つのクラスを経由してやれば参照を持たせあわなくて済む?
プロセスマネージャの具体的な実装を見てみよう



今日のTopDownShooter解析~

とりえあずF11連打で動きを見る。


■Avatarクラスのリセットの作り方
引数付きリセットは、引数の受け渡しを済ませてから引数なしリセットのメソッドを呼び出してる。
リセットの内部ではリスタートのメソッドを呼び出して、変数を初期化してから、ステートを非アクティブ状態にしてる。

何が言いたいかってと、同じコードは2度と書かん!ってこと


■ContentManagerクラス
http://msdn.microsoft.com/ja-jp/library/microsoft.xna.framework.content.contentmanager.aspx

どうやらこれを使えば、外部データを読み込むのに便利らしい。XMLからオブジェクトデータを流しこんでた。

BasicInfo.XCurve = content.Load<Curve>("XCurve1");

こんな感じ。
contentはContentManagerクラスの参照。XCurve1はプロジェクトにコンテントとして登録されているxmlファイル。

■GameStateManagement
GameScreenクラスをScreenManagerクラスに登録していく。スクリーンごとにグラフィックデータを持たせる。ポーズ画面など、画面の切り替えが必要な場合有用。


■敵の動きについて
シューティングの敵って外部の情報に全く影響されないんだな。出現時間と経過時間の差で自分の位置を算出してる。弾が当たったら死んで消えるけど、動きを変更させる要素があるわけでもない。これは意外と盲点だったので書いとく
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
[07/02 ooi]
[06/13 iの字]
最新トラックバック
プロフィール
HN:
ho-senka
性別:
非公開
バーコード
ブログ内検索