逐渐更改动画的值

Changing a value gradually for animation

本文关键字:动画      更新时间:2023-09-26

假设我有一个变量dimension我想从值a更改为值bab 是整数,第一个比第二个是主要的。

要线性地做到这一点,我应该这样做:

while (dimension < a)
dimension = dimension + 1

但是,如果我希望它呈指数级增长怎么办?我完全不擅长数学,我无法弄清楚这一点。我正在尝试:

while (dimension < a)
dimension = dimension * dimension

关键是价值几乎立即失控,它变得巨大(比a大得多(

即使我尝试使用巨大的比例(通过将a设置为巨大的值(,我也无法完成这项工作......然而,这些家伙似乎做到了,我认为这也应该很容易!

他们还设法对各种疯狂的方程式做同样的事情,如果我能够实现一个,所有这些对我来说都很容易!

我只想让一个值从 1 增加到 2,但逐渐......

希望有人能帮忙,谢谢!

一种非常简单的方法是让第二个计数器每次迭代递增较小的量,然后将其乘以原始计数器进行设置。例如,在您的情况下:

step = 1.2;
while(dimension < a) {
    dimension = Math.max(dimension * step, a);
    step += 0.1;
}
调整

值可能是必要的,以达到确切的预期效果,但这是它的一般想法。调用 Math.max 将确保该值永远不会超过您的目标。