シューティングのスクリプト3

動かすタイミングについて、かなり悩んだのでメモ。
 
敵の行動のパターンとしては、

  • 座標の移動
  • 弾を撃つ

という2つのパターンがあります。
 
さらにこれらには準備段階があります。

  • 移動量の設定
  • どんな弾を撃つかを設定

 
つまり、行動の「準備」をしてから行動の「決定」をする必要があります。
 
この「準備」と「決定」を同時に行うべきか、
というところでかなり悩みました。
 
「準備」と「決定」を同時に行うと、スクリプトの命令が

  • 移動量を設定して座標を移動
  • 弾の種類を設定して弾を撃つ

という個別の命令で完結してしまい、
 
「弾を撃ちながら移動する」
 
ということができなくなるからです。
(弾を撃つ瞬間に動きが止まってしまう)
 
そこで、私は、、、
「準備」と「決定」を同時に行えるようにして、
「弾を撃つ場合は、前の設定値で移動する」
ということで回避しました。
 
例えば、

MOVE 30,3,3 // 30フレーム X方向へ3、Y方向へ3、移動する
SHOT 3WAT // 1フレーム、3WAYショットを打ちながら以前の設定値で移動する
MOVE 20,0,-4 // 20フレーム X方向へ0、Y方向へ-4、移動する

こんな感じです。
 
 
さて、今後の課題としては、

  • 条件文、変数の実装
  • フレームで移動量を設定すると、曲線の動きを作るのが大変

ですね。

…しかし皆さんは、どうやってスクリプトの実装を行っているのだろうか…。
ネットで調べてもそれらしい情報がないし…。
(「シューティング スクリプト」で検索すると、「〜スクリプト(言語?)のトラブルシューティング」で引っかかる(笑))