スクリプト/汎用関数/自機狙い弾
最終投稿者:
aoihikawa
更新:2011/08/30 09:45:55
自機狙い弾
(ご自由にご利用ください)
------------------------------
敵機から自機に向けて発射される弾の
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]
ご意見やご質問などありましたら
こちらのブログ記事まで。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。