对 LED 数字刻度进行编程的最佳方法是什么。我需要显示最大为 1,000,000.00 的数字。由于符号实例,动态文本字段不是一个选项。我将如何制作计数器?
动画
数字像 LED 显示屏一样递增移动。这个
数字
每个空格上的数字乘以 10 小数点数字不是整数,所以它们走得非常快 Flash 中有 16,000 帧的限制
符号
对于每个数字位置,以增量方式移动的数字列
它需要什么?
数字以 10 的倍数移动 小数点乘以一百
基于帧还是基于时间?
Flash 中有 16,000 帧的限制
基于时间的方法需要大量代码
添加和删除子问题
alt text http://www.ashcraftband.com/myspace/videodnd/number_example.jpg
过渡效果
一个“勾” 每次移动 10 个像素等。 9和0顺利翻车
最佳答案
在 Flash 中,为了实现图片中的效果,我将创建 2 个 MovieClips:
- 带小数点的黑条
- 一列中的灰色数字,0 -> 0,如您的图片所示
然后,将黑色条和 9 个数字列组合成一个 MovieClip 来代表您的计数器,以及它的自定义基类。这使您可以对整个计数器进行细粒度控制。
提供可以移动各个列的 CounterClip::Step()
或 ::Tick()
方法(或任何您想要调用的方法)。您可以使用 flash.transitions.Tween
类来创建流畅的动画(我想这就是它的名字……我有点生疏了。)
如果您发现您需要超过 9 列,您可以更改您的 Counter MovieClip 类以支持动态添加更多数字。
关于c++ - AS3 中的计数器 "without dynamic text field",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164376/