我想让一个按钮闪烁红色以响应某个事件,然后每按一次按钮就会停止闪烁。这很像飞机上的主报警按钮。因此闪烁效果需要我可以以编程方式停止。
我看到一个使用计时器的例子,但我想避免使用计时器因为我不喜欢使用计时器,除非我真的不得不这样做。让所有这些计时器只做一些微不足道的事情似乎真的很混乱。
我希望有一些方法可以在按钮上用闪光灯或其他东西做一些小动画,然后告诉动画播放以使按钮闪烁,然后停止/重置动画以将其放回原来没有闪烁的状态。
我正在使用Flex Builder 3.我是Action Script和Flex / Flash的新手。
有人可以提供有关如何执行此操作的信息或指向某些信息吗?
感谢。
答案 0 :(得分:3)
我会尝试使用补间引擎......就像这样:
function flash() {
TweenLite.to(button, .5, {tint:0xFF0000, onComplete:unflash});
}
function unflash() {
TweenLite.to(button, .3, {removeTint:true, onComplete:flash});
}
function deleteFlashing(e) {
TweenLite.killTweensOf(button);
TweenLite.to(button, .2, {removeTint:true});
}
答案 1 :(得分:1)
正如Cay指出的那样 - 当涉及到程序化动画时,你真的想要使用Tween库。事实上,有人可能已经编写了一个比你更有效的解决方案 - 而且会为你提供免费。
有很多很多选择。 TweenLite的维护者在他的网站上有一个speed comparison of ActionScript 3 tween engines。
执行所需操作的语法将取决于库,但在每个按钮中按下红色按钮将非常简单。我建议您熟悉一个或多个补间库来执行此类操作 - 从长远来看,它将为您节省大量时间。
答案 2 :(得分:0)