0

当用户松开手指时,我希望我的精灵旋转回 0 度。目前它是这样完成的:

if (touching == NO && rotationValue != 0)
{
    if (rotationValue < 180 && rotationValue < 0)
    {
        rotationValue += 1.5; 
    }
    else
    {
        rotationValue -= 1.5;
    }

    if (rotationValue < 1 && rotationValue > -1)
        rotationValue = 0;
}

任何人都可以帮助我,所以当精灵以对数方式旋转回来时,它开始旋转得更快,然后在达到 0 时减慢。

4

1 回答 1

1

基本上,您想减去每个刻度留下的差值的一小部分。0.125这里是一个任意参数,你可以改变它来改变整体速度。

if (fabs(rotationValue) < 0.00000000000000000001){
    rotationValue = 0.0;
} else {
    rotationValue -= .125 * fabs(rotationValue);
}
于 2012-07-03T01:04:12.540 回答