いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

Flash アニメーションが作りやすくて、なんとかこの作りやすさを C++ でもと参考にしてゲームを作っているのですが、やはり継承ツリーの長さが気になります。

ゲームの基本的な要素である Sprite と Flash の基礎的な要素である MovieClip までの継承ツリーを見てみると次のようになります。

MovieClip の継承関係(上が基底クラス)
Object 全てのオブジェクトの祖。
EventDispatcher イベントを受け取ったり、送出したり、ラジバンダリできるようになる。
DisplayObject Flash ムービーとして表示するのに必要な情報が管理できるようになる(大きさとか座標とか回転度とか不透明度とか)。
InteractiveObject マウスやキーボードに反応できるようになる。
DisplayObjectContainer DisplayObject をツリー状に内包できるようになる。知らなかったけどゲームを作るのに便利なパターンらしい。
Sprite 実際に Flash ムービーの画面に表示できるようになる(これより前の表示関連のクラスは抽象クラス)。
MovieClip タイムラインを持った Sprite 。これなくして Flash はないが、 Flash なくしてこれはない、というのは言い過ぎ。

長いです。そして、表現する物によっては要らない機能もあります。たとえばダッシュして巻き上げた砂のエフェクトなんかがイベントを送出したり受け取ったりできる必要はありません。ゲームによってはひとつひとつの表示オブジェクトが入力を受け付ける機能が不要になることも多いかと思います。

インタフェースによる代表的な実装を持つオブジェクトへの委譲などで、ひとつひとつのオブジェクトを軽量化できないか検討が必要のようです。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 カウンター
ブログSEO対策:track word あわせて読みたい SEO STATUS