エフェクトの構造体ワカラナス@シューティング

こんばんはー

エフェクトの分類のしかたがわかりません。
エフェクトって敵が消滅したり、高エネルギー弾を撃つときにチャージするアニメーションだったり、ボスを倒して壊れていく機体が炎上していく炎だったり。
いろいろあるのですが、そういうことを想定していくと、エフェクト構造体のパラメータ持ち方と処理の仕方がわからなくなりました。

今までは、エフェクト1に対してアニメーション1でした。
ボスの爆発のようなエフェクトをかけようとすると、エフェクト1に対して、アニメーションが多になると思います。しかも、1点にとどまらず、一つ一つが移動しながらアニメーション。

パターンにしてしまうのでしょうか。・・・無限大にあるように思います。時間の経過に沿ってアニメーションも生成しなければならないと思います。
ううむ〜〜〜。
最初にこの問題を考え始めてから3日ぐらい経ってる気がする。何かと後回しになっていたせいもありまして、、、未だ解決せず。





(考え中)



構造体のイメージが沸いてこないので、Flash的な考え方で解決してみることに。
とりあえず、要素を分けてみました。


例:ボスが次第に壊れていくエフェクト
(ボスのガタイは含まれません。エフェクトの移動量は常に固定します)

  • ゲームメインタイムライン
    • ボスが壊れるエフェクトを開始する処理
  • ボスが壊れるタイムライン
    • 時間に沿って爆発エフェクトを生成する処理
    • 生成する際に、ボスの位置と生成位置関係から、エフェクトの移動量を計算する処理
  • 爆発エフェクトのタイムライン
    • 爆発エフェクトが終了すれば、タイムラインを止め、描画対象から削除する処理


この表を元にガガッっとコードしてみました。
・・・なんと。できてしまった。
ビルドなしで一気に書いてしまいましたが、エラーを取って動かしてみること5回。
結構な改修だったのに、5回のデバッグで済んだのは収穫かもしれません。
ちょっと自信がつきました。


エフェクトの移動量は相対座標計算になるので、後回しにしていますが、敵ごとに爆発エフェクトが違ったり、継続的に爆発が起こったりとおもしろいです。



ここで問題が。


画像は1個しか爆発が見えていません。


敵の座標を中心にランダムで爆発エフェクトが発生するのですが、なぜかランダム生成された座標が反映されません。1箇所で連続して爆発したままです。


正常に代入されていないのかと、ブレークポイントを使ってデバッグすると、値も正常で、ランダムに表示されます。
ううむ、調べてみますが、わからなさそうな気がしています。