带Flex / Action脚本的闪烁按钮

时间:2009-08-04 11:00:19

标签: flash actionscript-3 flex3

我想让一个按钮闪烁红色以响应某个事件,然后每按一次按钮就会停止闪烁。这很像飞机上的主报警按钮。因此闪烁效果需要我可以以编程方式停止。

我看到一个使用计时器的例子,但我想避免使用计时器因为我不喜欢使用计时器,除非我真的不得不这样做。让所有这些计时器只做一些微不足道的事情似乎真的很混乱。

我希望有一些方法可以在按钮上用闪光灯或其他东西做一些小动画,然后告诉动画播放以使按钮闪烁,然后停止/重置动画以将其放回原来没有闪烁的状态。

我正在使用Flex Builder 3.我是Action Script和Flex / Flash的新手。

有人可以提供有关如何执行此操作的信息或指向某些信息吗?

感谢。

3 个答案:

答案 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

  • Tweener是一个非常受欢迎的图书馆,但最近它已被其他图书馆的性能和尺寸所取代。
  • TweenLite是一个小而快的图书馆,越来越受欢迎。开发人员还维护TweenMax,这是一个更有特色的tweener。
  • Tweensy另一个自称非常快的图书馆
  • gTween是来自AS3大师格兰特斯金纳的另一位推特。

执行所需操作的语法将取决于库,但在每个按钮中按下红色按钮将非常简单。我建议您熟悉一个或多个补间库来执行此类操作 - 从长远来看,它将为您节省大量时间。

答案 2 :(得分:0)