夢か現か、きっと気付けば、貴方は夢うつつのまどろみの中へ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- (--:--) / スポンサー広告 / (-) / (-) /
私の実家では、瓦を100枚近く割ってくれるという被害。
台風13号こと、サンサン嫌い。サンサンと聴くと燦燦と太陽が煌いて…という感じですが。
これでは、サンサンというより、「散散(サンザン)」。

というか、私の家が脆いと思われたので、実家に一時避難したわけですが。
実際は、私の家のほうが被害が少ないと言う状況。
どうやら、私は望んで危険地帯へと進んでいたようです。
まるで、私の人生そのもの。気づくと、人生いつも嵐方向へ進行中。

そんな、危険地帯を少しでも安全とすべく日夜勉強にいそしむ…といえば心地良く
現実的に言えば、追い詰められてやってる中学生の宿題のようなもので
昨日から延々とプログラムのフローを考えてたわけで…
やっと。本題。前哨戦が長すぎると、それだけで客が逃げそうだけど。
まぁ、いいや。

考えるのは、3DSTGにおける、自機・敵・弾などの動く物体の管理方法。
ここで、前提条件
 1.全てが頂点・テクスチャなどの3Dにおける描画データを持っている
 2.全てが相互に当たり判定が必要になる可能性がある
 3.それぞれが固有の処理によって動く
こんなところでしょうか。

この中で特に2番。これがあるならば、一つの衝突判定アルゴリズムを
全てのオブジェクトの相互判定に使えるようにしたいところ。
ということで、自機や敵などを全部同じ基底クラスからの派生にすることに。

で、派生クラスの場合、「is a 関係」を維持しないと行けないので
基底クラスはこのように
 1.描画される
 2.当たり判定がある
 4.動きがある(移動に加え、攻撃なども含めて)
全て派生クラスが満せるものに。

あとは、コレをそれぞれの種類ごとにグループにする。
グループは、プレイヤーは固定配列でもいいかな。
プレイヤー数が、一人だったり百人だったり…なんてことは無いとして。
敵、弾などは、幾つも現れ、また消す順番なども不定なので
中途半端な削除も高速なリスト辺りで管理。

と、ここで、敵にもう一つおまけ。
< 同じ軌道で襲ってくる敵の隊列 > はSTGではよくあること。
こういうのは、 < 全撃破でグループボーナス > とかもあるので
敵は、グループを更に動的配列で幾つも持てるようにする。
敵だけは、グループのグループがあるという感じ。
ついでに、各グループにグループ管理用のオブジェクトを入れておけば、
グループ内の敵が全撃破したときに、管理オブジェクトがスコア加算なども出来そう。

後は、ここに移動処理の差別化のために
派生クラスで、プレイヤーは入力情報を受けれるように
敵は、スプラインで動かす予定なので、その情報を受けれるように
敵のショットは、基本一直線予定なので、まぁ簡単。

で、最後の難関。
自機のショットは、まだ考え中。タイプが多いからなぁ・・・
いくつか武器を選択可能にしようと思ってるから
それごとに、移動処理が異なる。
んー、どうにか、それを意識せずに動かせるようにしないと。
スポンサーサイト
2006.09.18 (19:19) / Program / (0) / (0) /





 管理者にだけ表示を許可する


Copyright © 2004 Powered by FC2 All Rights Reserved.
Template by lovehelm
/ 2018.07 /
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 - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。