';运动放松';C#中的效果

本文关键字:运动 | 更新日期: 2023-09-27 18:25:51

我需要增加一个整数,但我想降低它的增加速度。举个例子,我有一个等于0的int,我希望这个int最终达到100,但增量越来越慢。有人有这方面的经验吗?

';运动放松';C#中的效果

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());
     }
}

像这样?:

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;
}