UFOゲームの制作 VB6 | |
(4) タイマーによる処理 Z |
8. 敵弾の当たり判定
敵弾の当たり判定処理もサブプロシージャAtariHanteiの中に入れる。
自機が当てられたとき自機があれば、自機弾と敵弾をすべて消してゲームを継続する。
Private Sub AtariHantei() '当たりの判定 Dim flag As Integer Dim n As Integer, nn As Integer '- - - - - - - - - - - - - - - '自機弾が敵に当たる(敵爆破フラグBakuF()を2に設定する) <<省略>> '- - - - - - - - - - - - - - - '敵または敵弾が自機に当たる flag = 0 For n = 0 To MaxTeki '敵の数(MaxTeki個分)を調べる '敵表示ON かつ 当たり ならば 爆破設定 If imgTeki(n).Visible = True And isAtari(imgTaihou, imgTeki(n)) = True Then flag = 1 'フラグ設定 Exit For End If '敵弾表示ON かつ 当たり ならば 爆破設定 If imgTama2(n).Visible = True And isAtari(imgTaihou, imgTama2(n)) = True Then flag = 1 'フラグ設定 Exit For End If Next n If flag = 1 Then '当たり(自機爆破)処理 TaihouNokori = TaihouNokori - 1 '自機残数を1減 TaihouNokoriHyouji TaihouNokori '自機残数の表示 For n = 0 To MaxTeki '敵弾を全部消す imgTama2(n).Visible = False '敵弾表示OFF Next n For n = 0 To MaxTama '自機弾を全部消す imgTama1(n).Visible = False '自機弾表示OFF Next n With imgTaihou '自機を中央に配置 .Left = Form1.ScaleWidth / 2 .Top = Form1.ScaleHeight - imgTaihou.Height * 1.5 End With If TaihouNokori <> -1 Then MsgBox "再スタート OK ?" End If End If End Sub
実行して敵弾に当たると自機が1つずつ減る。まだ、敵をすべて爆破してもゲームは続く。
(4) タイマーによる処理 Z | |
Copyright © 2002 Hiroshi Masuda |