我在actionscript3项目中遇到了以下问题。
我通过坐在持有人精灵中的一个班级设置了一组按钮。
当我翻转其中一个按钮时,我循环浏览器中的所有按钮并运行tweenlite以将alpha补间为.4,除非名称与当前活动按钮匹配。
当我推出时,我通过tweenlite补间再次将所有按钮重置为alpha 1。
大部分时间都可以正常使用。我遇到的问题如下:
我尝试过使用tweengroup,但这似乎也无济于事。
如果您需要更多详细信息,请与我们联系。代码被集成到很多其他东西中,这就是为什么我没有发布它,但如果需要我可以把东西放在一起。
感谢。
约什
答案 0 :(得分:1)
IMO,你应该为这些按钮创建一个类,它在内部维护状态......所以从外面看,你只能在按钮上调用两个方法,比如说fadeDown
和fadeUp
。 ..按钮本身知道,他们的alhpa是什么,如果有一个补间运行等等...将永远杀死他们自己的补间(或者只是继续,如果它是正确的补间)...然后开始向右动画来获得他们内部状态的正确视觉表示......你可能会考虑使用state pattern来保持你的代码干净......(简单地使用私有类也不要结束很多文件)......
另外,关于这一点的一个好处是,动画与逻辑分离,因此您可以轻松地重复使用逻辑上下文之外的按钮,和/或更改动画概念(例如模糊按钮而不是在没有任何影响逻辑的情况下淡化它们......
希望这有助于......;)
格尔茨
back2dos
答案 1 :(得分:0)
为避免闪烁,您可以在补间上稍微延迟并让它们相互覆盖(查看TweenLite页面)
要将它们返回到初始alpha的问题,一个简单的如果不起作用?