ミニDTL.xna “ゲームはイチニチ30分まで!” 第6回

by key

他のお仕事で忙しく、今週はブログにまとめるのが後回しになりがちでしたごめんなさい。

ミニDTL.xnaその6です。

MiniDTL.xna (6)

第5回まで特に何も考えず作ってきたため、自機や敵機が弾を撃つだけでも気持ち悪い記述が必要でしたので、今回はリファクタリングしつつ立ち止まって考える日にしました。

これまでの設計は、Game1クラスが後述するFighterやEnemyやShotのリストを保持し、個々のUpdateやDrawを呼び出していました。

FighterやEnemyがUpdateの際に弾を撃ちたくなったとき、イベントを使うことも考えたのですがもっと安易な仕組みを使うほうがボトルネックを生まないだろうと素人ながらに考え、Updateの引数としてGame1のListなどを渡してもらい、それに新たな弾を追加するようにしていました。でも気持ち悪い!

今回の変更では、Game1のうちゲーム中のデータを保持している部分だけを切り出してWorldクラス(名前は適当)を作り、それをFighterやEnemyに自由に開放することにし、その代わりGame1を意識させないようにしました。

この変更が果たして美しいのか、そもそも意味はどの程度あるのかはよく分かりませんが、少なくとも融通は利くようになったの良しとします。

たまには見た目の変化がない日があっても良いよね。

今日の感想

  • URLをTwitterに流すのを忘れてしまい、20分後に気づきました。すみません。
  • 次回は見た目の変化を重視でやりたい。

タグ: , , ,

コメント / トラックバック 1 件

  1. XNA Today » ミニDTL.xna 第6回 より:

    [...] ミニDTL.xna “ゲームはイチニチ30分まで!” 第6回 [...]

コメントをどうぞ