2010-10-29 79 views
0

缓解这可能是简单的东西,但我抓我的头在Flex中与Animate类缓和4.AS3/Flex的4:通过AS3

基本上我只是想通过设置缓和:

anim.easer = spark.effects.easing.EaseInOutBase(EasingFraction.IN_OUT); 

然而,抱怨,说

Type Coercion failed: cannot convert 0.5 to spark.effects.easing.EaseInOutBase. 

这将是很好,除了...构造函数的参数是Number,不是EaseInOutBase一个实例。我错过了什么吗? Google的所有结果都表明这应该通过MXML来定义,但我只是觉得......脏了,而是定义了纯粹用编程方式的标记。我知道这是Flex的一半本质,但我仍然希望将大部分逻辑/配置保留在AS3中。

如果有更好的方法来使用缓动进行动画制作,而不是使用Animate及其easer属性(例如,如果这不是正确的方式),请随时提出替代方案 - 对Flex仍然有点新意。

回答

3

是的。你当然错过了...... :)你错过了new关键字。

您的代码试图将EasingFraction.IN_OUT转换为EaseInOutBase类型......这就是为什么您会看到这种看似错误(但完全合适)的原因。

相反:

anim.easer = new spark.effects.easing.EaseInOutBase(EasingFraction.IN_OUT); 

:)

+0

事实上我。 :)这会教我编码时,用尽。谢谢! – mway 2010-10-29 13:14:28