Flex 特效一览
1:glow(发光) 代码: <mx:Glow id="glow" duration="1000" alphaFrom="0.6" alphaTo="0.2" blurXFrom="0.0" blurXTo="50.0" blurYFrom="0.0" blurYTo="50.0" color="0xffffff"/> duratuion 是特效的时间 1000 毫秒 alphaFrom 是透明度从 0.6 开始 alphaTo 是透明度到 0.2 blurXFrom 是X放向的模糊开始位置(相对于控件的) blurXTo 是X放向的模糊结束位置(相对于控件的) blurYFrom 是Y放向的模糊开始位置(相对于控件的) blurYTo 是Y放向的模糊结束位置(相对于控件的) color 是发光的颜色 作用到控件: <mx:Image source="../assets/zh_cn_msdn_T_20070606.png" rollOverEffect="{glow}" id="back"/> rollOverEffect 是鼠标经过时触发。 效果图参看: 2:Blur(模糊) 代码: <mx:Blur id="blurImage" duration="1000" blurXFrom="0.0" blurXTo="10.0" blurYFrom="0.0" blurYTo="10.0"/> duratuion 是特效的时间 1000 毫秒 blurXFrom 是X放向的模糊开始位置(相对于控件的) blurXTo 是X放向的模糊结束位置(相对于控件的) blurYFrom 是Y放向的模糊开始位置(相对于控件的) blurYTo 是Y放向的模糊结束位置(相对于控件的) 作用到控件: <mx:Image source="../assets/zh_cn_virtual_tab1_090803.png" mouseDownEffect="{blurImage}" mouseUpEffect="{unblurImage}" toolTip="Welcome"/> mouseDownEffect 是鼠标按下时的特效。 mouseUpEffect 是鼠标松开时的特效 效果图参看: 3:Sequence (顺序) Bounce(弹跳) 代码: imp <mx:Sequence id="movePauseMove"> <mx:Move yBy="-150" duration="1000" easingFunction="Bounce.eaSEOut"/> <mx:Move yBy="150" duration="1000" easingFunction="Bounce.easeIn"/> </mx:Sequence> yBy 是作用在Y方向。 duratuion 是特效的时间 1000 毫秒 easingFunction 是松开动作 Bounce.eaSEOut 是跳出的动作 Bounce.easeIn 是跳回的动作 作用到控件: <mx:Image source="../assets/zh_cn_ptn_090722.png" mouseDownEffect="{movePauseMove}" id="image4"/> mouseDownEffect 是鼠标按下时的特效。 效果参看: 4:Zoom(放大) 代码: <mx:Zoom id="zoomAll" zoomWidthFrom="1" zoomWidthTo="1.5" zoomHeightFrom="1" zoomHeightTo="1.5" /> zoomWidthFrom 放大的宽度从 1 倍开始 zoomWidthTo 放大的宽度到 1.5 倍 zoomHeightFrom 放大的高度从 1 倍开始 zoomHeightTo 放大的高度到 1.5 倍 <![CDATA[ imp public function doZoom(event:MouseEvent):void { if (zoomAll.isPlaying) { //判断动作是否正在进行中 zoomAll.reverse(); //如果是就返回(如果是放大就变成缩小) } else { zoomAll.play([event.target],event.type == MouseEvent.ROLL_OUT ? true : false); //判断事件是否是 鼠标移出事件,如果是就为true否则的话就为false } } ]]> 作用到控件: <mx:Image source="../assets/zh_cn_ptn_090722.png" rollOver="doZoom(event)" rollOut="doZoom(event)" id="image4"/> rollOver:鼠标经过事件。 rollout:鼠标移出事件。 参看效果图: Flex特效之Fade淡入淡出效果 Fade是一种淡入淡出效果,它通过设置组件的alpha属性来实现动画效果。当使用showEffect或hideEffect触发器设置Fade效果时,如果省略了alphaFrom和alphaTo属性的值,那么在showEffect触发器上目标对象的透明度将从0变化到目标的当前alpha值,而在hideEffect触发器上则会从当前的alpha值变化到0。如果要对字体使用Fade效果,必须使用嵌入字体。 下面的代码使用一个CheckBox对象设置Image的visible属性,通过hideEffect和showEffect触发器分别触发各自的Fade效果: <mx:Fadeidmx:Fadeid="fadeOut"duration="1000"alphaFrom="1.0"alphaTo="0.0"/> <mx:Fadeidmx:Fadeid="fadeIn"duration="1000"alphaFrom="0.0"alphaTo="1.0"/> <mx:CheckBoxidmx:CheckBoxid="cbx"label="visible"selected="true"/> <mx:Imagesourcemx:Imagesource="assets/plane.png"visible="{cbx.selected}" hideEffect="{fadeOut}"showEffect="{fadeIn}"/> 5)Flex特效之Glow发光效果 Glow是一种发光效果,该效果使用了flash.filters.GlowFilter滤镜类。如果对某个组件应用了Glow效果,就不能对该组件应用GlowFilter滤镜,也无法再次应用Glow效果。下面的代码通过Image对象的mouseDownEffect触发器触发Glow效果: <mx:Glowidmx:Glowid="glowImage"duration="1000"alphaFrom="1.0"alphaTo="0.3" blurXFrom="0.0"blurXTo="50.0"blurYFrom="0.0"blurYTo="50.0"color="0x 00FF00"/> <mx:Imagesourcemx:Imagesource="assets/plane.png"mouseDownEffect="{glowImage}"/> 6)Flex特效之Iris虹效果 Iris效果通过扩展或收缩集中在目标上的矩形遮罩为效果目标设置动画。该效果可以从目标的中心放大遮罩来显示目标,也可以向中心收缩遮罩来隐藏目标。下面的代码使用一个CheckBox对象设置Image的visible属性,通过hideEffect和showEffect触发器分别触发各自的Iris效果: <mx:Irisidmx:Irisid="irisOut"duration="1000"showTarget="true"/> <mx:Irisidmx:Irisid="irisIn"duration="1000"showTarget="false"/> <mx:Imageidmx:Imageid="Flex"source="assets/plane.png"visible="{cbx.selected}" showEffect="{irisIn}"hideEffect="{irisOut}"/> <mx:CheckBoxidmx:CheckBoxid="cbx"label="visible"selected="true"/> 7)Flex特效之Move移动效果 Move效果用来实现移动动画。在给定时间内,组件的位置会随时间变化而变化。使用该效果通常需要用到以下几个属性。 lxFrom和yFrom属性用来指定初始位置。 lxTo和yTo属性用来指定目标位置。 lxBy和yBy用来指定移动量,即组件在x轴向和y轴向上的移动速度。 通常只需要指定初始位置、目标位置或移动量这些值中的任意2个,Flex就会计算第3个值。如果指定所有这3个值,Flex就会忽略xBy和yBy值。如果仅指定xTo和yTo值或xBy和yBy值,那么Flex会将xFrom和yFrom设置为对象的当前位置。 下面的程序演示了如何使用Move效果。 代码清单MoveSample.mxml <?xmlversionxmlversion="1.0"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"paddingLeft= "0" layout="absolute"mouseDown="moveImage();"> <mx:Script> <![CDATA[ //当按下鼠标时调用该事件 privatefunctionmoveImage():void{ //停止播放Move效果 moveEffect.end(); //设置目标位置 moveEffect.xTo=mouseX; moveEffect.yTo=mouseY; //播放Move效果 moveEffect.play(); } ]]> </mx:Script> <mx:Moveidmx:Moveid="moveEffect"target="{img}"/> <mx:Imageidmx:Imageid="img"source="assets/plane.png"/> </mx:Application> 代码中将Application的layout属性设置为absolute,当用户在应用程序中任何位置上单击鼠标时,调用moveImage方法,该方法中首先停止Move效果,然后根据鼠标单击的位置设置目标位置,最后播放效果。 通常Move效果应用于使用绝对定位的容器(如Canvas)或使用“layout=absolute”的容器(如Application或Panel)中。如果需要将其应用到自动布局的容器(如VBox或Grid容器)中,虽然会移动目标对象,但下次容器更新其布局时,会将目标对象移回其原始位置。在这种情况下,可以将容器的autoLayout属性设置为false来禁止往回移动,但这会禁用容器中所有控件的布局。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从React本机Js代码调用Android Native UI组件方法
- C#公历转农历算法
- C语言常见错误翻译
- 赋值运算符及赋值表达式,C语言赋值运算符及其赋值表达式详
- swift详解之十九--------------UITableView的基本操作(下拉
- Error:Execution failed for task ':app:dataBindingPr
- iphone – 如何在使用故事板时将navigationcontroller推送动
- xcode:按文件搜索
- c# – 实体类型ApplicationUser不是当前上下文的模型的一部
- ruby-on-rails – 查找更快的ActiveRecord查询(Ruby on Rai