';运动放松';C#中的效果
本文关键字:运动 | 更新日期: 2023-09-27 18:25:51
我需要增加一个整数,但我想降低它的增加速度。举个例子,我有一个等于0的int,我希望这个int最终达到100,但增量越来越慢。有人有这方面的经验吗?
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;
}