我正在构建一个自定义预加载器,它与RIA中常见的“传统”滑动条不同。预加载器使用100个直线的白色激光灯,它们共同表示进度条。在我提出问题之前,让我先说明一下这是如何运作的:
.................的 ....... ,,,,,,,,, ::::::::::: :::::::::::::: BBBBBBBB 等...
上面的字符串捕获了预加载器指示符的精神。在这个插图中,角色越大越胖,我的实际预加载器中的激光越亮:
步骤“2”是事情变得棘手的地方。出于某种原因,除了一些随机激光器之外,试验激光器不会变暗。这是控制点的亮度(或者,我使用它,alpha属性)的代码片段:
... more code ...
//Build the dots according the configuration and load status parameters
private function buildDots(x:int, y:int):void {
//Draw the dot, details not shown
var dot:Shape = new Shape();
//Begin the transitioning
this.fadeOn(dot);
}
//Fade a dot to full brightness
private function fadeOn(dot:Shape):void {
var fadeOn:Tween = new Tween(dot, "alpha", None.easeNone, 0, 1, this.fadeOnTime, true);
fadeOn.addEventListener(TweenEvent.MOTION_FINISH, fadeOff);
}
//Fade a dot to black
private function fadeOff(e:TweenEvent):void {
var fadeOff:Tween = new Tween(e.target.obj, "alpha", None.easeNone, 1, .2, this.fadeOffTime, true);
}
... more code ...
有人可以告诉我哪里出错了吗?这些细节可能有所帮助:
如果我能提供更多详情,请告诉我。我会尽可能多地奖励一个好的答案/反馈。
感谢您的所有时间!
答案 0 :(得分:1)
我看到的是嵌入式功能。
我会使用Greensock强大的TweenMax类重新编码。 http://www.greensock.com/tweenmax/
答案 1 :(得分:0)
我唯一看到的就是你没有从你的fadeOn变量中删除一个事件监听器。这是我要检查的第一件事 - 我对补间知之甚少,但我确实知道你的事件监听器会导致变量“fadeOn”存在的时间超过它应该存在的时间,因为它有一个对它的引用。 / p>
但是,您可能需要发布更多代码。也许拥有更多补间经验的人可以获得更多的光。