在Flex 3中,可以像这样触发MX效果:
<mx:Resize id="myEffect" />
<mx:Button mouseDownEffect="{myEffect}" />
在Flex 4中,Spark效果会像这样触发:
protected function onClick(event:MouseEvent):void {
resizeEffect.end();
resizeEffect.play();
}
...
<s:Resize id="resize" />
...
<s:Button click="onClick(event)" />
使用这种声明较少且较长的方法的原因是什么?我无法在文档中找到答案。
(有两点需要注意:
)
答案 0 :(得分:1)
当前版本的spark中没有正式支持效果触发器。您可以在此处跟踪此功能的进度:http://bugs.adobe.com/jira/browse/SDK-19743
答案 1 :(得分:0)
我将补充说,Flex 4按钮仍然在ASDocs中记录effect triggers,包括mouseDownEffect。你确定他们不工作吗?
也就是说,在幕后,在组件的代码中,效果触发器的工作方式与第二个样本相同。某些代码在某处获得效果(如果存在),并手动处理效果的播放。
由于Spark有一个半烘焙组件集,因此可能还没有实现。也许这个效果没有传递给你的按钮皮肤类,我怀疑它可能应该处理这种视觉变化。
也许您应该向我们提供一些可运行的样本?