今横向きのシューティングゲームを作成しているのですが、
なぜか自機だけが透過処理されません;;
gmode 2 を入れればできると思っていたのですが
どこに入れてもできません;;
どうしたらいいでしょうか;;
////////////////////////////////////////////////////////////////////
; オリジナル版
#packopt name"シューティング"
#epack "kyara2.bmp"
#epack "n_back01.bmp"
celload "kyara2.bmp",2 ;画像ロード
csx=40 :csy=40
celdiv 2,csx,csy ;画像素材分割サイズ
wxs=760 :wys=400
screen 0,wxs,wys ;画面の大きさ
*start
title "シューティング"
pos 0,0 :picload"n_back01.bmp",1
font "MS 明朝",30,1
color 0,153,255
pos 360,90 :mes"シューティングゲーム"
pos 360,130 :mes"スペースキーでスタート"
sysfont 1
stg = 0
gmode 2
gsel 0,1
gosub *pse
*nextstg
gosub *clr
a=stg+1 :a="STAGE "+a
pos wxs/2-40,wys/2-16 :mes a
title a :wait 150
;----背景----
scr_x = 0
scr_y = 0
;----自機初期設定----
x = 20 //スタート場所x
y = wys/2-20 //スタート場所y
;----弾初期設定----
dim tama ;配列変数名: tama
dim tama_x ;配列変数名: tama_x
dim tama_y ;配列変数名: tama_y
;----敵機初期設定----
dim teki,20
dim teki_x,20
dim teki_y,20
*main
//操作
stick key,31
if key & 1:x-5 ;カーソルキー左(←)
if key & 2:y-5 ;カーソルキー上(↑)
if key & 4:x+5 ;カーソルキー右(→)
if key & 8:y+5 ;カーソルキー下(↓)
if key & 128 : end ;キー Esc 終了
//スペースキーで弾を撃つ
if key & 16 {
if tama(cnt) = 0 {
tama(cnt) = 1
tama_x(cnt) = (x + 20)
tama_y(cnt) = y
}
}
pos 0,0
picload"neta2.bmp",1
pos x,y :celput 2,0
if x < 0 :x = 0
if x > 720:x = 720
if y < 0 :y = 0
if y > 360 :y =360
//敵出現
time++
if ( time \ 10 ) = 0{
repeat 20
if teki(cnt) = 0{
teki(cnt) = 1
teki_x(cnt) = 800
teki_y(cnt) = rnd(361)
teki_hp(cnt) = 10
break
}
loop
}
//敵の処理
repeat 20
if teki_x < -40 :teki(cnt) = 0
if teki(cnt) = 1{
teki_x(cnt)-7
pos teki_x,teki_y :celput 2,1
}
loop
//当たり判定
if teki(cnt) = 1
if shot = 1
if ( ( (tama_x-10) > (teki_x+10) && (tama_x-10) < (teki_x+10) + 20 ) || ( (teki_x+10) > (tama_x-10) && (teki_x+10) < (tama_x-10) + 20 )){
if ( ( tama_y > (teki_y-10) && tama_y < (teki_y-10) + 20 ) || ( (teki_y-10) > tama_y && (teki_y-10) < tama_y + 20 )){
teki(cnt) = 0
tama(cnt) = 0
bakuha(cnt) = 1
shot = 0
}
}
if teki(cnt) = 1
if ( ( teki_x > x && teki_x < x + 40 ) || ( x > teki_x && x < teki_x + 40 )){
if ( ( teki_y > y && teki_y < y + 40 ) || ( y > teki_y && y < teki_y + 40 )){
jiki(cnt)--
teki(cnt) = 0
}
}
//爆破モーション
if bakuha = 1{
pos teki_x,teki_y :celput 2,3
bakuha = 2
}
if bakuha = 2{
pos teki_x,teki_y :celput 2,4
bakuha = 3
}
if bakuha = 3{
pos teki_x,teki_y :celput 2,5
bakuha = 0
}
//現在時間表示
pos 540,370
t1=gettime(4)
t2=gettime(5)
t3=gettime(6)
color 0,255,204
mes "現在時刻 "+t1+" : "+t2+" : "+t3+"
//弾の処理
if tama(cnt) > 0{
tama_x(cnt)+=20
pos tama_x,tama_y :celput 2,2
if tama_x(cnt) > 760 {
tama(cnt) = 0
}
}
//自機
if jiki < 0{
end
}
redraw 1
wait 1
redraw 0
goto *main
; ----サブルーチン----
*clr
color 0,0,0 :boxf 0,0,wxs,wys
color 255,255,255 :return
*pse
wait 1 :stick ky,0 :if ky!16 :goto *pse
return