我需要增加一个整数,但我想降低它增加的速度。例如,假设我有一个等于 0 的 int,我希望这个 int 最终达到 100,但增量逐渐变慢。有人对此有经验吗?
user1017882
问问题
993 次
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 回答