シューティングのスクリプト3
動かすタイミングについて、かなり悩んだのでメモ。
敵の行動のパターンとしては、
- 座標の移動
- 弾を撃つ
という2つのパターンがあります。
さらにこれらには準備段階があります。
- 移動量の設定
- どんな弾を撃つかを設定
つまり、行動の「準備」をしてから行動の「決定」をする必要があります。
この「準備」と「決定」を同時に行うべきか、
というところでかなり悩みました。
「準備」と「決定」を同時に行うと、スクリプトの命令が
- 移動量を設定して座標を移動
- 弾の種類を設定して弾を撃つ
という個別の命令で完結してしまい、
「弾を撃ちながら移動する」
ということができなくなるからです。
(弾を撃つ瞬間に動きが止まってしまう)
そこで、私は、、、
「準備」と「決定」を同時に行えるようにして、
「弾を撃つ場合は、前の設定値で移動する」
ということで回避しました。
例えば、
MOVE 30,3,3 // 30フレーム X方向へ3、Y方向へ3、移動する SHOT 3WAT // 1フレーム、3WAYショットを打ちながら以前の設定値で移動する MOVE 20,0,-4 // 20フレーム X方向へ0、Y方向へ-4、移動する
こんな感じです。
さて、今後の課題としては、
- 条件文、変数の実装
- フレームで移動量を設定すると、曲線の動きを作るのが大変
ですね。
…しかし皆さんは、どうやってスクリプトの実装を行っているのだろうか…。
ネットで調べてもそれらしい情報がないし…。
(「シューティング スクリプト」で検索すると、「〜スクリプト(言語?)のトラブルシューティング」で引っかかる(笑))