HSP あたり判定
こんにちは初めまして。
現在「HSP」でSTG(シューテングゲーム)を作っております。
当たり判定がいまいち反応が悪くって困っております。
原因がわかる方いましたらよろしくお願いいたします。
●解決したいこと【当たり判定がちゃんと綺麗に処理される】
プログラム
--------------------------------------------------
screen 0,380,450
buffer 1
// picload "自機.bmp"
gsel 0,1
buffer 2
// picload "敵.bmp"
gsel 0,1
myx = 150 : myy = 350 ;自機の座標
mySpd = 5 ;自機スピード
;←弾
TM_SPD(0) = 5 ;自機弾のスピード(5)
TM_CO(0) = 0 ;自機弾のカウンターの初期化(連射間隔を調整)
TM_WAIT(0) = 10 ;連射間隔(10)
;→弾
TM_SPD(1) = 5 ;自機弾のスピード(5)
TM_CO(1) = 0 ;自機弾のカウンターの初期化(連射間隔を調整)
TM_WAIT(1) = 10 ;連射間隔(10)
MYTMMAX = 7 ;自機弾の最大数
repeat MYTMMAX ;自機弾の最大数(7)
;←弾
mytm.cnt = 0 ;自機弾フラグ
mytmx.cnt = 0 : mytmy.cnt = 0 ;自機弾の座標
;→弾
mytm2.cnt = 0 ;自機弾フラグ
mytmx2.cnt = 0 : mytmy2.cnt = 0 ;自機弾の座標
loop
;敵
TKMAX = 7 ;敵の最大数
repeat TKMAX ;敵の最大数(7)
enemy.cnt= 0 ;敵フラグ
emx.cnt = 0 : emy.cnt = 0 ;敵の座標
loop
;****************メインループ*************************
*メイン
redraw 2 : color 20,20,20 : boxf
;敵
gosub *敵機の処理
;自機
gosub *自機の移動
gosub *自機の←弾
gosub *自機の→弾
;当たり判定
gosub *敵VS弾
;自機
pos myx,myy : gmode 2,29,42,255 : gcopy 1,1,0
;敵
repeat TKMAX ;敵の最大数(7)
if enemy.cnt = 1 : pos emx.cnt,emy.cnt : gmode 2,26,22,255 : gcopy 2,1,1
loop
;自機弾
repeat MYTMMAX ;自機弾の最大数(7)
;←弾
if mytm.cnt = 1 {
pos mytmx.cnt,mytmy.cnt
gmode 2,9,8,255 : gcopy 1,1,43
}
;→弾
if mytm2.cnt = 1 {
pos mytmx2.cnt,mytmy2.cnt
gmode 2,9,8,255 : gcopy 1,1,43
}loop
redraw : await 10
goto*メイン
お礼
あ。。ありがとうございます! 助かりました! これでようやく次の段階に進めそうです。 ほんとにありがとうございました!