Flash中如何在指定的秒数内运行一个范围内的值?

How to run a range of value in specified seconds in Flash?

如何在指定时间内更新一系列值?我是 Flash ActionScript 3 的新手。

假设我希望用户在 4 秒内看到从 0 到 90 的值,我如何在 Flash AS3 中做到这一点?这是我目前的尝试:

var valueRange:Number = 90; //90 different values
var myTimer:Timer = new Timer(1000,valueRange); //should repeat valueRange times
myTimer.addEventListener(TimerEvent.TIMER, rangeFunction); //function
myTimer.start();

function rangeFunction(event:TimerEvent):void {
myText_txt.text = String((-1)+myTimer.currentCount);
}

每一秒,该值都会更新,使其长度为 90 秒。

请帮忙,因为这是我动画的基本需求。

您需要缩放您的值以将一个范围映射到另一个范围。

要在 4 秒内从 0 到 90,您每秒将有 90 / 4 或 22.5 个值。所以在你的计时器的每一个滴答声中,你都会增加 22.5,在 4 秒内从 0 到 90。

这可能不像我猜的那样好,您更愿意看到数字飞快地过去。实现这一点的一种方法是使用较小的计时器更新间隔,比如 100 毫秒,而不是每秒更新一次。由于 100ms 表示 0.1 秒,因此每 100ms 的增量值为 2.25。

您可以一直向下计算出一个足够小的间隔值,您可以将其递增 1,但是具有非常小的间隔值对于计时器来说可能不是一件好事。