円の半径と移動角度を使用して、スプライトを円運動で動かしたいと考えています。
たとえば、スプライトが半径 10 の円で移動していて、現在の位置が (387,38) で、角度が 28 度であることを知っています。今は、円の周囲に沿って 100px 移動したくありません。
p1 = x&y coordinate, known (387,38) in example with movingangle 28 degrees
r = radius, known (10 in example)
l = distance to move along bend, known (100px in example)
p2 = new point, what is this x and y value?
うまくいく解決策がありますが、あまり好きではありません。それは私には意味がなく、必要だと思うよりも多くの計算が必要です。最初に p1 を使用して中心点を計算し、次に同じことを逆方向に実行して p2 を取得します (余弦と正弦を使用)。私が信じているより迅速な方法があるはずですが、これを正確に行っている人を見つけることができません。
私が cocos2d をタグ付けした理由は、それが私が取り組んでいるものであり、ゲーム フレームワークが三角法を支援する機能を提供する場合があるためです。