改变3个精灵的角度,使其看起来光滑/逼真

时间:2011-10-25 17:49:43

标签: objective-c xcode math cocos2d-iphone geometry

我有3个精灵都有相同的角度,所以我只想说手臂精灵。 此刻,手臂精灵的角度等于一个点1(60,60,但这没关系) 到另一个点2,玩家拇指按下的点。

在ccTime功能期间,我更新了所有内容,角度和内容。因此,每当用户触摸屏幕上的某个点时,角度立即改变,并且手臂的角度等于从point1到point2的矢量。

我不希望角度更改需要.016秒才能完成(ccTime每隔1/60秒调用一次)。我想要的是角度增加/减少更快/更慢取决于新矢量离当前矢量有多远。基本上我希望手臂以一定的速度升高/降低,可能会加速一点,具体取决于矢量。

我已多次尝试让它发挥作用,但我没有到达任何地方。请帮助我,旋转可以从90度直线向上直到180度直线向下(cocos2d中的角度也会改变,但是,我必须在这里和那里添加90度)。

如果您需要更多信息,请发表评论,我会尽快给您提供信息。

1 个答案:

答案 0 :(得分:0)

您应该在更新循环中将新角度设置为destinationAngle

//Instead of checking for equality, you might want to check the angle is close enough, e.g. if they are withing 1 degree of each other e.g.(if (abs(destinationAngle - angle) < 1)
if (angle != destinationAngle)
{
    //move towards destination
    angle += ((destinationAngle - angle) / 10.0f);
}