【发布时间】:2009-05-26 09:23:54
【问题描述】:
我已经被告知好几次了,或者我在不同的地方读到过(不记得现在具体在哪里)不要使用 Flex SDK 中的 Tween 类,而是使用其他动画库,如 Tweener、TweenMax、GTween , ...
使用 Flex 补间有什么问题?是性能问题吗?
如果我想进行状态转换,是否应该使用第三方库进行自定义转换?
【问题讨论】:
标签: apache-flex animation tween
我已经被告知好几次了,或者我在不同的地方读到过(不记得现在具体在哪里)不要使用 Flex SDK 中的 Tween 类,而是使用其他动画库,如 Tweener、TweenMax、GTween , ...
使用 Flex 补间有什么问题?是性能问题吗?
如果我想进行状态转换,是否应该使用第三方库进行自定义转换?
【问题讨论】:
标签: apache-flex animation tween
作为参考,这里有一些有用的东西:
如果您的目标只是在皮肤中进行状态转换,那么使用 Flex Effect 类是最简单的。 Flex 4 即将发布,它完全重写了它的效果库,比 Flex 2/3 快得多。我使用 TweenMax 和 Flex 效果对 100 个 mx.controls.Button 实例进行了快速测试,每个实例 500 毫秒,一个接一个,并且 TweenMax 的速度大约是原来的两倍(这意味着我可以看到 15 个对象同时移动,而不是 7 或 8 个)。所以如果你可以,我会用 TweenMax 做所有的动画。绝对是最通用/流行/模块化/优化的。但是对于皮肤,并且因为 Flex Effects 已经准备好在 MXML 的皮肤中使用,所以使用它们。
还可以查看Tink's Efflex Flex Effect Library 以获得一些不错的容器/视图堆栈效果(一些是 3D 效果)。
【讨论】:
根据您所阅读的博客,它们可能侧重于 flash/actionscript。在这种情况下,它可能会推荐 tweenlight 或类似的东西。
如果您正在使用 flex 及其库,那么没有理由不使用 flex 效果(基于 flex 的 Tween 版本)。请注意,flex Tween 与 flash Tween 不同。但是你真的不必担心,如果你想移动一些东西,就用移动效果,如果你想淡化一些东西,就用淡化效果。
有些人可能会推荐另一个补间包,因为它会使整体 SWF 大小更小,但这取决于您构建最终 SWF 的方式。您是否将带有 flex 框架的 SWF 部署为 RSL(建议虽然 Google 无法搜索您的 SWF,但如果您这样做,请检查 this link),那么最好使用 Flex 效果。如果您不将该框架用作 RSL,则需要测试您的应用以查看哪个版本作为更大的 SWF 文件出现。
我在使用 flex 效果时从未遇到过任何性能问题。 一些第 3 方补间包的效果不属于 flex 库的一部分,但除此之外,我想不出任何不使用 flex 效果/补间的充分理由。
【讨论】: