我需要增加一个整数,但我希望减轻它增加的速度。所以说例如我有一个等于0的int,我希望这个int最终达到100但逐渐递增。有没有人有这方面的经验?
答案 0 :(得分: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());
}
}
答案 1 :(得分: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;
}