素人質問で申し訳ありません
現在、プレイヤーの画面X,Yを基準として特定座標の角度を取得するイベントを作ろうとしているのですが、どうにもうまくいきません。
プレイヤーを原点として特定座標X,Yが原点からプラスの所にあるのかマイナスの所にあるのかといった所まではいけたのですが、ここから角度をどう取得すればいいのかが分からないのです
イメージ画像
地形で描かれた1とか2は象限で、単位はピクセルです
現在はコモンイベントでやろうと思っていますが、手詰まりになってしまいました
回答お願いいたします
角度の求め方【解決】
Re: 角度の求め方
自分が今やろうとしているのはひもひ記氏の「シューティングプラグイン」ですね
このプラグインでは、イベントからアクターの角度は自動計算してくれるのですが、アクターから特定の座標に弾を飛ばす術がありませんでした
そのため、自分で角度を算出してみようと思ったのです
このプラグインでは、イベントからアクターの角度は自動計算してくれるのですが、アクターから特定の座標に弾を飛ばす術がありませんでした
そのため、自分で角度を算出してみようと思ったのです
RPGツクールで仲間と進むアクションをツクっていきます
Re: 角度の求め方
その場合、角度指定よりベクトルで計算した方が速いですね。
目標座標-アクターの座標で計算できます。
ゲームプログラミングの基礎中の基礎の話なので、「シューティングゲーム ベクトル」で検索すれば情報を見つけられます。
目標座標-アクターの座標で計算できます。
ゲームプログラミングの基礎中の基礎の話なので、「シューティングゲーム ベクトル」で検索すれば情報を見つけられます。
現在、プラグイン依頼はお休み中です。
Re: 角度の求め方
申し訳ありません、言い忘れていたのですが、自分の使っているプラグインでは角度を直接入力して弾を撃つ角度を決める方式になっているのです。
おそらくですが、ベクトル方式ではうまく作動しないものと思われます。
申し訳ありません
おそらくですが、ベクトル方式ではうまく作動しないものと思われます。
申し訳ありません
RPGツクールで仲間と進むアクションをツクっていきます
Re: 角度の求め方
degreeで与えればいいのかな
degree、つまり30度とか90度とか、フツーに言う角度であれば
添付中のθは逆正接を使って以下のように求まります。
θ = Math.atan(Y/X) * 180/Math.PI
第1象限であれば 90 - θ が求める角度になるでしょうか。
第2~4象限においては X, Y を符号付で取得してるかどうか、とかで微妙に実現方法が異なるかと思いますが
目標がどの象限にいるか判断できているということなのでどうにか条件分岐を作れるでしょう。
と思ったけど余談
Math.atan2() っていうのもあるのかぁ
あと、そもそもそのプラグインでキャラクターの方向の角度が取得してるなら
それと同義ではないかという気もする。
どう実装してるのかわかりませんが…
degree、つまり30度とか90度とか、フツーに言う角度であれば
添付中のθは逆正接を使って以下のように求まります。
θ = Math.atan(Y/X) * 180/Math.PI
第1象限であれば 90 - θ が求める角度になるでしょうか。
第2~4象限においては X, Y を符号付で取得してるかどうか、とかで微妙に実現方法が異なるかと思いますが
目標がどの象限にいるか判断できているということなのでどうにか条件分岐を作れるでしょう。
と思ったけど余談
Math.atan2() っていうのもあるのかぁ
あと、そもそもそのプラグインでキャラクターの方向の角度が取得してるなら
それと同義ではないかという気もする。
どう実装してるのかわかりませんが…
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/