スクリプト/汎用関数/自機狙い弾
最終投稿者: 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]
ご意見やご質問などありましたら
こちらのブログ記事まで。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。