1

如果你很好理解目标 c,那么只需阅读最后 2 句。剩下的只是总结了最后两句:


所以我有两个精灵,下臂和上臂。我将锚点设置为ccp(0.5f,0.0f)所以可以说以下破折号代表下臂,锚点是括号中的破折号: (-)------ 。所以物体围绕这个点旋转(此时的 CGPoint 是ccp(100,55))。

我需要的是,如果下臂围绕括号中的破折号旋转: (-)-----o 圆圈代表我想要的点。我基本上是在连接两只手臂并试图让运动看起来不错......两只手臂都是 17 像素长(这意味着如果下臂笔直指向上方,则圆圈的 CGPoint 是ccp(100,72),如果手臂是指向直下,圆圈将是ccp(100,38)

我将使用什么等式,以便我可以将上臂的位置设置为等于下臂旋转 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

你需要找出旋转的角度是多少。我对目标 c 不太熟悉,但是如果您使用的是旋转功能,则很可能在某个地方可以参考角度分量。

从那里您可以使用三角函数来查找 x 和 y 变化的分量。

对于 x,它将是:(锚点 x)+(臂长)*余弦(旋转角度)

对于 y,它将是:(锚点 y)+(臂长)* sine(旋转角度)

此外,请确保您知道角度是弧度还是度数,您可能必须根据正弦/余弦函数进行转换。

于 2011-10-19T18:12:17.480 回答