0

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

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

当我翻转这些按钮中的一个时,我会遍历支架中的所有按钮并运行 tweenlite 将 alpha 补间到 0.4,除非名称与当前活动的按钮匹配。

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

这在大多数情况下都可以正常工作。我遇到的问题如下:

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

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

如果您需要更多详细信息,请告诉我。该代码已集成到许多其他东西中,这就是为什么我没有发布它但如果需要我可以将一些东西放在一起。

谢谢。

乔什

4

2 回答 2

1

IMO,你应该为这些按钮创建一个类,在内部维护状态......所以从外部,你只调用两个方法,比方说fadeDownfadeUp在按钮上......按钮本身知道,他们的 alhpa 是什么,如果有一个补间正在运行等......总是会杀死他们自己的补间(或者只是继续,如果它是正确的补间)......然后开始正确的动画以获得其内部状态的正确视觉表示。 ..您可能会考虑使用状态模式...保持您的代码干净...(只需使用私有类不会最终拥有太多文件)...

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

希望这可以帮助 ... ;)

问候

back2dos

于 2009-07-23T12:06:16.673 回答
0

为了避免闪烁,您可以在补间上使用一点延迟,让它们相互覆盖(检查 TweenLite 页面)

对于将它们返回到初始 alpha 的问题,一个简单的 if 行不通?

于 2009-07-23T20:43:33.547 回答