0

我需要增加一个整数,但我想降低它增加的速度。例如,假设我有一个等于 0 的 int,我希望这个 int 最终达到 100,但增量逐渐变慢。有人对此有经验吗?

4

2 回答 2

2

hcb 的答案适用于 100,但不同的值需要不同的 ease 值。

更通用的答案是使用正弦,这意味着无论您想要什么最终值,或者您采取多少步骤,轻松度都是相同的。

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 回答