敵弾の処理を改良する(1/3) |
弾が自機に向かってくるもの1種類だけでは、寂しいですね。本講義では敵弾の処理を改良し、種類を増やします。
1.敵弾のデータを用意する |
2.変数の初期設定 |
3.敵弾の出現 |
1.敵弾のデータを用意する |
(1)弾のデータ
弾のデータを書くファイルを別に用意します。(shotdata.as)
必要な配列変数の宣言をします。
; 動きのパターン
dim batangle,20,64
dim dbatangle,20
dim nbat,20
dim nbatshot,20
dim batdir,20
dim btwtime,20
dim afttime,20
dim shotspeed,20
例えば、自機に向けて単発の弾を撃つパターンのデータは次のようになります。
; パターン0 自機に向けて単発
batangle.0.0=0
dbatangle.0=0
nbat.0=1
nbatshot.0=1
batdir.0=1
btwtime.0=0
afttime.0=64
shotspeed.0=5
真下に3wayを単発で撃つデータは次のようになります。
; パターン1 真下に3wayを単発
batangle.1.0=-8
batangle.1.1=0
batangle.1.2=8
dbatangle.1=0
nbat.1=3
nbatshot.1=1
batdir.1=0
btwtime.1=0
afttime.1=64
shotspeed.1=4
90度の間隔で並んだ4つの砲台が、回転しながら5発連射するデータは次のようになります。
; パターン3 4つの砲台が角度を変えながら5発連射
batangle.3.0=-72
batangle.3.1=-8
batangle.3.2=56
batangle.3.3=120
dbatangle.3=4
nbat.3=4
nbatshot.3=5
batdir.3=0
btwtime.3=2
afttime.3=32
shotspeed.3=3
敵と弾の位置がずれているように感じるかと思いますが、これは敵が動いているからです。
dbatangle、shotspeed等は砲台ごとに別の値を指定できるようにするとより凝った動きを実現できますが、ここでは全砲台につき同じとします。
(2)敵のデータ
敵のデータ(enedata.as)を修正して、項目を追加します。(修正したので、ファイル名をenedata2.asに変えています。)
以下の2項目を追加します。
; 弾のパターン
dim shotpat,8,4
dim bfrtime,8