0

整数をインクリメントする必要がありますが、インクリメントの速度を遅くしたいと思います。たとえば、私が0に等しいintを持っているとすると、このintを最終的に100に到達させたいが、徐々に増分を遅くしたいとします。誰かがこれを経験したことがありますか?

4

2 に答える 2

2

hcbの答えは100で機能しますが、値が異なると、イーズ値も異なります。

より一般的な答えは、正弦波を使用することです。これは、最終的な値がどのようなものであっても、または多くの手順を実行しても、使いやすさは同じであることを意味します。

private void EaseIn(int easeTo)
{
     for (int n = 0; n < easeTo; n++)
     {
          double degrees = (n * 90) / easeTo;
          double easedN =  easeTo * Math.Sin(degrees * (Math.PI / 180));

          Console.WriteLine("Eased n = " + easedN.ToString());
     }
}
于 2012-02-27T10:50:14.430 に答える
1

このような?:

for (int i = 0; i <=100; i++)
{
    Thread.Sleep(i);
}

またはこのように:

float j = 1;
float ease = 0.005;
for (float i = 0; i <=100; i+=j)
{
    j -= ease;
}
于 2012-02-27T10:40:48.310 に答える