使用 Flex 时是否有处理动画的首选方式——例如,如果我想渲染一个球并在屏幕上弹跳它?
4 回答
如果您正在构建一个 Flex 应用程序,您应该使用 Flex 的本机效果类。它们可能已经编译到您的应用程序中,因为核心组件使用它们,并且您不会像使用另一个库那样使用重复的功能来增加 SWF 大小。对于简单的动画,mx.effects.AnimateProperty 或 mx.effects.Tween 应该可以正常工作。
如果您正在处理常规的 ActionScript 项目(没有 Flex 框架),那么我同意 Marc Hughes 给出的答案。但是,如果是这种情况,请不要说您正在使用 Flex,因为这意味着您正在使用 Flex 框架,这可能会让人非常困惑。如果您指的是 Flex Builder,请使用全名以避免潜在的误解。
您不能总是将 Flex 的效果类与普通精灵一起使用。某些效果期望您的目标对象(要补间的对象)实现 IUIComponent 接口,而其他效果则没有。因此,您可以使用 mx.effects.Tween,或者如果您必须使用效果类之一,则需要将您的 sprite 强制转换为 UIComponent。
另一种选择是使用上面建议的 tween 包之一,或者使用 goasap 滚动你自己的包!
即使您的目标不是 UIComponent,您也可以使用 mx.effects.AnimateProperty。
如果您想要实现的补间是一个简单的补间(移动、调整大小、淡入淡出等),这可以节省您编写 mx.effects.Tween 所需的样板代码。