0

如何使用 Greensocks TweenMax 或 TweenLite 制作计数器?有人了解覆盖管理器吗?

我的代码将在 AS3 中。我希望它是基于计时器的,并且能够或重置它的自我和循环。建议或入门代码会很酷。另外,使用补间引擎不好吗?让我知道。

IDEAS
移动数列“以像素为单位”
0
1
2
3
4
5
6
7
8
9
0

//1
TweenMax.to
(num7, 1, {y:-3911, delay:1, paused:false, useFrames : false, immediateRender : false});
//2
TweenMax.to
(num7, 1, {y:85, delay:2, paused:false, useFrames : false, immediateRender : false});
//3
TweenMax.to
(num7, 1, {y:-3911, delay:3, paused:false, useFrames : false, immediateRender : false});
//4
TweenMax.to
(num7, 1, {y:85, delay:4, paused:false, useFrames : false, immediateRender : false});
//5
TweenMax.to
(num7, 1, {y:-3911, delay:5, paused:false, useFrames : false, immediateRender : false});
//6
TweenMax.to
(num7, 1, {y:85, delay:6, paused:false, useFrames : false, immediateRender : false});
//7
TweenMax.to
(num7, 1, {y:-3911, delay:7, paused:false, useFrames : false, immediateRender : false});
//8
TweenMax.to
(num7, 1, {y:85, delay:8, paused:false, useFrames : false, immediateRender : false});
//9
TweenMax.to
(num7, 1, {y:-3911, delay:9, paused:false, useFrames : false, immediateRender : false});
//10

Appearance “事物的出现和消失,类似于 load-sprite-method”
“没有例子”

我的问题
- 无限 循环运动
- 全局时间尺度和数学地板
- 垃圾堆积

4

1 回答 1

0

听起来你有把事情复杂化的习惯。我可能不会使用补间引擎,但可能会使用 Timer 类。

我也会把事情分成可管理的块。目前看起来你有你的计时代码,你显示的代码都混合在一起了。我会创建这些单独的部分:

  1. CounterTimer -计算出你最多的东西(基于时间)。
  2. CounterView - 计数器的视觉图形。它唯一的工作就是渲染它被告知要显示的任何数字。并处理状态之间的转换。
  3. CounterController - 有点像中间人。从 CounterTimer 获取当前 Count,并告诉 CounterView 渲染该数字(基于帧,因为每帧只能渲染一次)。

像这样分解它意味着您可以一次专注于一个组件,并与其他部分隔离地测试该部分。例如; 首先,您可以构建 CounterView。这可能是一个将您的图形保存在舞台上的 MovieClip。它可能有一个名为:

public function displayNumber(numberToDisplay:Number):void

调用此方法时,CounterView 将显示该数字的图形,包括转换。要测试此组件,只需从 CounterView 父级调用此方法,并使用随机数。一旦它工作,您就可以开始使用 CounterTimer。

对于 CounterTimer,您可能希望它具有更多的 API,例如

public function CounterTimer( startCount:Number ) //This is the constructor.
public function start()
public function reset():void
public function getCount():Number

当 CounterTimer 完成后,只需在 CounterController 上启动以将它们连接在一起。CounterController 需要监听 enterframe 事件,并告诉 CounterView 在每一帧显示 CounterTimer 的计数。

于 2010-02-12T03:17:50.513 回答