1

目的 c をよく理解している場合は、最後の 2 つの文を読んでください。この残りの部分は、最後の 2 つの文を要約するだけです。


下腕と上腕の 2 つのスプライトがあります。アンカー ポイントを に設定しccp(0.5f,0.0f)ます。したがって、次のダッシュが前腕を表しているとしましょう。アンカーポイントは括弧内のダッシュです: (-)------ 。したがって、オブジェクトはこの点を中心に回転しています (現時点での CGPoint は ですccp(100,55))。

私が必要とするのは、下腕が括弧内のダッシュの周りを回転している場合です: (-)-----o 円は私が望むポイントを表します. 私は基本的に 2 つの腕を接続し、動きが見栄えを良くしようとしています... 両方の腕の長さは 17 ピクセルです (つまり、前腕が真上を向いている場合、円の CGPoint はccp(100,72)であり、腕があった場合真下を指すと、円は になりますccp(100,38)

上腕の位置を、この質問の 2 番目の段落で円として表されている前腕の回転 CGPoint の位置と等しくなるように設定するには、どの式を使用すればよいでしょうか。同様に... _ ,/ _は前腕を表し、コンマは目的のポイントを表し、/ は上腕を表します。

下腕と上腕 = 17 ピクセルの長さ、両方のアンカー ポイントは (0.5f,0.0f) です。下腕のアンカー ポイントの反対側のポイントを見つけるにはどうすればよいですか。

4

2 に答える 2

4

x = 100 + 17 * cos(θ)
y = 55 + 17 * sin(θ)

于 2011-10-19T17:54:49.353 に答える
1

あなたは回転角が何であるかを見つける必要があります。私はObjectiveCにあまり詳しくありませんが、回転関数を使用している場合は、参照できる場所に角度コンポーネントがある可能性があります。

そこから、三角法を使用して、xとyの変化の成分を見つけることができます。

xの場合、次のようになります:(アンカーx)+(腕の長さ)*コサイン(回転角)

そして、yの場合は次のようになります:(アンカーy)+(腕の長さ)*正弦(回転角)

また、角度がラジアンか度かを確認してください。正弦/余弦関数に基づいて変換する必要がある場合があります。

于 2011-10-19T18:12:17.480 に答える