『スクリプト 汎用関数』 自機狙い弾
投稿者:
aoihikawa
投稿日:2011/07/31 13:53
自機狙い弾
(ご自由にご利用ください)
------------------------------
敵機から自機に向けて発射される弾の
X/Y方向の弾速を算出します。
自機と敵機を入れ替えることで
自機から指定ポイントへ発射する弾にも
応用可能です。
------------------------------
引数 自機X/Y座標・敵機X/Y座標・弾速
戻り値 X/Y方向の弾速
使用例
ツイート
(ご自由にご利用ください)
------------------------------
敵機から自機に向けて発射される弾の
X/Y方向の弾速を算出します。
自機と敵機を入れ替えることで
自機から指定ポイントへ発射する弾にも
応用可能です。
------------------------------
引数 自機X/Y座標・敵機X/Y座標・弾速
戻り値 X/Y方向の弾速
def jikinerai_tama(char_x, char_y, ememy_x, ememy_y, speed)
r = 0; x = 0; y = 0
if char_x == ememy_x
if char_y > ememy_y
y = (speed * (-1))
elsif char_y < ememy_y
y = speed
end
else
r = (atan2((ememy_y - char_y), (ememy_x - char_x)))
x = floor(cos(r) * speed)
y = floor(sin(r) * speed)
end
ret_data = createArray()
ret_data[0] = x
ret_data[1] = y
return ret_data
end
使用例
#自機の座標 char_x = 150 char_y = 250 #敵機の座標 ememy_x = 450 ememy_y = 350 #弾速 speed = 20 #X/Y方向の弾速の算出 ret_data = jikinerai_tama(char_x, char_y, ememy_x, ememy_y, speed) #戻り値の展開 speed_x = ret_data[0] speed_y = ret_data[1]
コメントする
コメントするには、ログインする必要があります。
始めからありましたよ(w
うっかりか、気のせいかも(w