使用actionscript3进行组翻转效果

时间:2009-07-23 09:54:43

标签: flash actionscript-3 tween

我在actionscript3项目中遇到了以下问题。

我通过坐在持有人精灵中的一个班级设置了一组按钮。

当我翻转其中一个按钮时,我循环浏览器中的所有按钮并运行tweenlite以将alpha补间为.4,除非名称与当前活动按钮匹配。

当我推出时,我通过tweenlite补间再次将所有按钮重置为alpha 1。

大部分时间都可以正常使用。我遇到的问题如下:

  • 当我从一个按钮直接滚动到另一个按钮时,有很多闪烁
  • 有时当我滚动到另一个按钮时它再次消失然后再次出现
  • 我有一个案例,而不是将所有按钮都返回到alpha 1我需要将它们返回到初始状态alpha。

我尝试过使用tweengroup,但这似乎也无济于事。

如果您需要更多详细信息,请与我们联系。代码被集成到很多其他东西中,这就是为什么我没有发布它,但如果需要我可以把东西放在一起。

感谢。

约什

2 个答案:

答案 0 :(得分:1)

IMO,你应该为这些按钮创建一个类,它在内部维护状态......所以从外面看,你只能在按钮上调用两个方法,比如说fadeDownfadeUp。 ..按钮本身知道,他们的alhpa是什么,如果有一个补间运行等等...将永远杀死他们自己的补间(或者只是继续,如果它是正确的补间)...然后开始向右动画来获得他们内部状态的正确视觉表示......你可能会考虑使用state pattern来保持你的代码干净......(简单地使用私有类也不要结束很多文件)......

另外,关于这一点的一个好处是,动画与逻辑分离,因此您可以轻松地重复使用逻辑上下文之外的按钮,和/或更改动画概念(例如模糊按钮而不是在没有任何影响逻辑的情况下淡化它们......

希望这有助于......;)

格尔茨

back2dos

答案 1 :(得分:0)

为避免闪烁,您可以在补间上稍微延迟并让它们相互覆盖(查看TweenLite页面)

要将它们返回到初始alpha的问题,一个简单的如果不起作用?