<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<mx:Resize id="expand" target="{img}" widthTo="200" heightTo="200"
duration="10000" effectEnd="endEffectHandler();"/>
</fx:Declarations>
<mx:Image id="img" width="30" height="60"
source="@Embed(source='source/img1.jpg')"/>
<mx:Button id="button1" label="启动" click="expand.play();" x="103" y="197"/>
<mx:Button label="暂停" click="expand.pause();" x="188" y="197"/>
<mx:Button label="继续播放" click="expand.resume();" x="269" y="198"/>
<mx:Button label="逆序播放" click="expand.reverse();" x="355" y="198"/>
<mx:Button label="结束" click="expand.end();" x="434" y="197"/>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function endEffectHandler():void {
Alert.show("Effect 结束!");
}
/*
Resize 效果在指定的时间间隔更改组件的宽度或高度,或同时更改这两者。
属性
Resize:效果的持续时间(以毫秒为单位)。
事件
effectEnd:mx.events.EffectEvent.EFFECT_END
方法
play():
开始播放效果。通常在调用 play() 方法之前先调用 end() 方法,以确保在开始播放新效果前已结束先前效果的所有实例。
所有子类都必须实现此方法。
pause():
暂停效果,直到调用 resume() 方法。
resume():
在效果由 pause() 方法暂停后继续播放效果。
reverse():
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。
end():
断当前正在播放的效果,立即跳转到该效果的末尾。调用此方法将调用 EffectInstance.end() 方法。
如果调用此方法来结束播放效果,效果实例将分派 effectEnd 事件。
如果将效果实例作为参数传递,则会中断此实例。如果没有传入参数,则该效果当前生成的所有效果实例都将中断。
*/
]]>
</fx:Script>
</s:Application>