トップページ > 記事閲覧
弧の移動について
名前:Talvisota 日時: 2013/07/21 19:26

とある点(仮にX,Yとします)を中心に、キャラクターを半径100の弧の上で、キーによって移動させるプログラムを模索中です。 LEFTで左に、RIGHTで右に移動といった感じです。また、移動できる角度に一定の制限を設けようとも思います。 (扇でたとえるならば、開ける大きさを決めるといったところ)  しかし、その方法がいまいちわかりません。おそらくsinやcosといった三角関数を使うのではと思っているのですが、どうもうまくいかないのです。  あやふやな質問で申し訳ありません。
メンテ

Page: 1 |

Re: 弧の移動について ( No.1 )
名前:PATOLE 日時:2013/07/21 22:16

方法は色々あると思いますが キャラクター座標を CX , CY 中心座標をX,Y 半径をR キャラクターの回転角度を Angle とすると CX = cos(Angle*π/180.0f)*R + X; CY = sin(Angle*π/180.0f)*R + Y; で実現可能だと思います。 Angleは、0〜360の角度ですから、Keyが押された時に Angleを増加させたり、減少させると良いかと。 範囲を設定する場合は、 if(Angle >= 最小値 && Angle <= 最大値 && キーが押された){ Angle+=1; (または、Angle-=1;) } というif文で制御できるのではないでしょうか。
メンテ
Re: 弧の移動について ( No.2 )
名前:Talvisota(解決) 日時:2013/07/23 18:13

 無事に動かすことができました。お見事です。  そして、ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存