浏览 3944 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
作者 | 正文 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2008-08-17
6.1 认识行为对象
行为对象可以看作是触发器(Trigger) 和动画效果(Effect) 的结合体。
触发器和事件并不相同,针对一个事件的触发器,受到事件的制约。事件可以被监听,而触发器不可以。 组件定义了多种触发器,成为本身的一个属性,这些触发器默认没有设置动画效果。 行为对象允许对一个触发器定义多个动画效果,当触发器被激活,这些动画会按某种顺序运行。 6.1.2 创建行为
Move 标签:将target 指定的作用目标 img图片 从xFrom 移动到 xTo 位置,duration 表示持续的时间(单位:毫秒)。
<mx:Move id="myMove" target="{img}" xFrom="50" xTo="150" duration="2000"/> <mx:Image id="img" x="53" y="53" source="tree.jpg"/> <mx:Button x="50" y="170" label="移动图片" click="myMove.play()"/> 所有动画对象都继承 Effect 对象。抽象类,定义了以下方法来控制动画的播放流程:
我们也可以使用AS来完成行为的创建: <mx:Script> <![CDATA[ import mx.effects.Move; private var myMove:Move; internal function initApp():void{ myMove = new Move(); myMove.xFrom = 50; myMove.xTo = 150; myMove.duration = 2000; myMove.target = img } ]]> </mx:Script> <mx:Image id="img" x="53" y="53" source="tree.jpg"/> <mx:Button x="50" y="170" label="移动图片" click="myMove.play()"/>
UIComponent 是所有组件的父类,定义了组件共有的属性和方法,其中包括行为触发器:
所有的动画效果都是Effcet 类的子类,位于 mx.Effects 包中:
<mx:Iris id= "myIris" effectStart="effectStartHandler()" effectEnd="effectEndHandler()" /> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> <mx:Style source="style.css" /> <mx:Script> <![CDATA[ internal function effectStartHandler():void{ tip_txt.text = "提示信息:动画开始了"; } internal function effectEndHandler():void{ tip_txt.text = "提示信息:动画结束了"; } ]]> </mx:Script> <mx:ApplicationControlBar dock="true"> <mx:Label id="tip_txt" text="提示信息:" width="219" styleName="label"/> </mx:ApplicationControlBar> <mx:Iris id= "myIris" effectStart="effectStartHandler()" effectEnd="effectEndHandler()" /> <mx:WipeLeft id= "myWipe" /> <mx:WipeRight id= "myWipe2" repeatCount="2" repeatDelay="500"/> <mx:Image id="image" x="35" y="43" source="tree.jpg" showEffect="myIris" hideEffect="myIris"/> <mx:Image id="image2" x="170" y="43" source="tree.jpg" showEffect="myWipe" hideEffect="myWipe2"/> <mx:Button label="改变图片" x="37" y="153" click="image.visible = image2.visible= !image.visible"/> </mx:Application>
<mx:Style> .image{ showEffect: myIris; hideEffect: myIris; } .image2{ showEffect: myWipe2; hideEffect: myWipe; } </mx:Style> <mx:Image id="image" x="35" y="43" source="tree.jpg" styleName="image"/> <mx:Image id="image2" x="170" y="43" source="tree.jpg" styleName="image2"/>
<mx:Script> <![CDATA[ internal function initApp():void{ image.setStyle("showEffect",myIris); image.setStyle("hideEffect",myIris); image2.setStyle("showEffect",myWipe2); image2.setStyle("hideEffect",myWipe); } ]]> </mx:Script> <mx:Image id="image" x="35" y="43" source="tree.jpg“/> <mx:Image id="image2" x="170" y="43" source="tree.jpg"/>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||