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 に答える