« HSPTV!メルマガ 第34号 | メイン | 【講座】HSP3ワンポイントテクニック 第16回 »

2007年03月06日

【講座】HSPよく使うフレーズ 第25回 敵が弾を撃つ

【講座】HSPよく使うフレーズ 第25回 敵が弾を撃つ

前回、背景がスクロールするゲームのようなものでした。

今回は何をしようかな?と思っていたところに、ちょっと前に
掲示板に”敵が弾を撃つ”方法に関しての質問があったので、
ちょっと実験してみることにしたよ。

スクリプトが長くなるので、今回は背景スクロールは無しにして、
プレイヤーは動いて、敵は固定、弾がプレイヤーを目指して発車される、
という事にしてみた。

X座標とY座標をみて、割り算で1回分の増分を、と思ったけど
ここでは全部整数になっちゃうんだよねぇ。
おかげで、プレイヤーに向けて弾を撃ってきても全然あたらない
安全地帯が出来ちゃう。

小数点が扱えるようになると、もっと当たると思うんだけど・・・
正直、あまり高度な計算でもないし、動きも単純だなぁ。

まあ、その改造は見てる読者にお任せします。

いろいろ改装して、カッコ良く、正確に、弾を撃たせまくって下さいね。


screen 0,640,400
mx=200:my=300
//teki
tx=300:ty=40
gosub *tama_mk
*lp1
redraw 0
color 0,0,100:boxf
stick a,5,0
if a&4:mx+=10
if a&1:mx-=10
//me
mx=limit(mx,0,620)
title ""+dx+"/"+ystep
pos sx,sy:color 255,255,0:mes "*"
pos tx,ty:color 255,255,255:mes "■"
pos mx,my:color 0,200,0:mes "▲"
//tama
sx=sx+dx:sy=sy+dy
if sy>400:gosub *tama_mk
redraw 1
await 10
goto *lp1
//
*tama_mk
sx=tx:sy=ty:dy=5
if mx = sx {
dx=0
} else {
ystep=(my-sy)/dy
dx=(mx-sx)/ystep
}
return

[teki1.hsp/hsp3]

(うすあじ)

投稿者 usuaji : 2007年03月06日 21:22

口臭チェッカー市場