如果你对目标c理解得很好,那就读最后两句。其馀部分只是总结了最后两个句子:
所以我有两个精灵,下臂和上臂。我将锚点设置为ccp(0.5f,0.0f),下面的破折号表示下臂,锚点是括号中的破折号:(-)物体围绕这一点旋转(目前的CGPoint是ccp(100,55))。
我需要的是,如果下臂在圆括号内围绕着短跑旋转,(-)--o,圆圈代表我想要的点。我基本上是把两只胳膊连接起来,试着让动作看起来不错.两只手臂都有17个像素长(这意味着,如果下臂是笔直向上的,则圆圈的CGPoint是ccp(100,72),如果手臂是笔直的向下,圆圈就是ccp(100,38)。)
我会用什么方程来设置上臂的位置,等于下臂旋转的CGPoint的位置,在这个问题的第二段中用一个圆圈表示。比如..。__,/ __代表下臂,逗号代表我想要的点,/代表上臂。
所以下臂和上臂= 17像素长,锚点都是(0.5f,0.0f),我怎么找到下臂锚点的相反点。
发布于 2011-10-19 17:54:49
X= 100 + 17 * cos(θ)
Y= 55 + 17 * sin(θ)
发布于 2011-10-19 18:12:17
你需要找出旋转的角度是多少。我对目标c并不那么熟悉,但是如果你使用旋转函数,很可能有一个角度分量可以参考。
从那里,你可以使用三角函数来找出你的x和y变化的成分。
对于x,它将是:(锚x) +(臂长)*余弦(旋转角度)
对于y,它将是:(锚y) +(臂长)*正弦(旋转角度)
另外,确保你知道角度是以弧度还是度,你可能需要转换基于正弦/余弦函数。
https://stackoverflow.com/questions/7824364
复制相似问题