加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex4实现图片的动态切换

发布时间:2020-12-15 04:23:09 所属栏目:百科 来源:网络整理
导读:用flex4实现图片的动态切换,动态创建linkbutton按钮,代码如下: ?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="l

用flex4实现图片的动态切换,动态创建linkbutton按钮,代码如下:

<?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" ??? ??? ??? ?? creationComplete="init()"> ??? ??? ??? <fx:Script> ??? ??? <![CDATA[ ??? ??? ??? import mx.collections.ArrayCollection; ??? ??? ??? import mx.controls.Alert; ??? ??? ??? import mx.controls.LinkButton; ??? ??? ??? import mx.utils.*; ??? ??? ??? ??? ??? ??? import org.osmf.events.TimeEvent; ??? ??? ??? ??? ??? ??? /** ??? ??? ??? ?? *定义多少时间循环一次 ??? ??? ??? */ ??? ??? ??? private var timeNum:int = 2000; ??? ??? ??? /** ??? ??? ??? ?* 定义所要显示的图片数量 ??? ??? ??? */ ??? ??? ??? [Bindable] ??? ??? ??? private var picNum:int = 5; ??? ??? ??? /** ??? ??? ??? ?*定义控制图片滚动的下标 ??? ??? ??? ?*/ ??? ??? ??? private var index:int = picNum; ??? ??? ??? private function init():void ??? ??? ??? { ??? ??? ??? ??? //加载linkbutton样式 ??? ??? ??? ??? styleManager.loadStyleDeclarations("ef.swf"); ??? ??? ??? ??? //动态添加linkbutton以及间隔线 ??? ??? ??? ??? for (var i:int=1;i <= picNum;i++) ??? ??? ??? ??? { ??? ??? ??? ??? ??? //添加间隔线 ??? ??? ??? ??? ??? var vr:VRule = new VRule(); ??? ??? ??? ??? ??? vr.x = 495 - 21 * i; ??? ??? ??? ??? ??? vr.y = 357; ??? ??? ??? ??? ??? vr.height = 15; ??? ??? ??? ??? ??? ca.addElement(vr); ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? //添加linkbutton ???? ??? ??? ??? ??? var lb:LinkButton = new LinkButton(); ??? ??? ??? ??? ??? lb.id = ("lkb"+ i).toString(); ??? ??? ??? ??? ??? lb.x = 475 - 21 * (i - 1); ??? ??? ??? ??? ??? lb.y = 352; ??? ??? ??? ??? ??? lb.height = 20; ??? ??? ??? ??? ??? lb.width = 20; ??? ??? ??? ??? ??? lb.label = i.toString(); ??? ??? ??? ??? ??? //初始化样式信息 ??? ??? ??? ??? ??? if (i == picNum){ ??? ??? ??? ??? ??? ??? lb.styleName = "pic"; ??? ??? ??? ??? ??? ??? lb.alpha = 1; ??? ??? ??? ??? ??? } ??? ??? ??? ??? ??? else{ ??? ??? ??? ??? ??? ??? lb.alpha = 0.5; ??? ??? ??? ??? ??? } ??? ??? ??? ??? ??? //添加点击事件监听 ??? ??? ??? ??? ??? lb.addEventListener(MouseEvent.CLICK,getlkb); ??? ??? ??? ??? ??? ca.addElement(lb); ??? ??? ??? ??? } ??? ??? ??? ??? //一段时间自动调用方法 ??? ??? ??? ??? setInterval(autoPic,timeNum); ??? ??? ??? } ??? ??? ??? ??? ??? ??? //获取被鼠标点击的linkbutton ??? ??? ??? private function getlkb(event:MouseEvent):void ??? ??? ??? { ??? ??? ??? ??? if (event.target is LinkButton) ??? ??? ??? ??? { ??? ??? ??? ??? ??? index = int((event.target as LinkButton).label); ??? ??? ??? ??? } ??? ??? ??? ??? getPic(index); ??? ??? ??? } ??? ??? ??? ??? ??? ??? //图片自动切换 ??? ??? ??? private function autoPic():void ??? ??? ??? { ??? ??? ??? ??? if (index < 1) ??? ??? ??? ??? { ??? ??? ??? ??? ??? index = picNum; ??? ??? ??? ??? } ??? ??? ??? ??? getPic(index); ??? ??? ??? } ??? ??? ??? ??? ??? ??? //改变图片切换时linkbutton样式 ??? ??? ??? private function changePic(x:int):void ??? ??? ??? { ??? ??? ??? ??? //遍历容器,得到所有linkbutton ??? ??? ??????? for each(var pic:Object in ca.getChildren()) ??? ??? ??? ??? { ??? ??? ??? ??? ??? if (pic is LinkButton) ??? ??? ??? ??? ??? { ??? ??? ??? ??? ??? ??? //重置其它linkbutton样式 ??? ??? ??? ??? ??? ??? if (pic.id!="lkb"+x.toString()) ??? ??? ??? ??? ??? ??? { ??? ??? ??? ??? ??? ??? ??? pic.alpha = 0.1; ??? ??? ??? ??? ??? ??? ??? pic.styleName = ""; ??? ??? ??? ??? ??? ??? } ??? ??? ??? ??? ??? ??? //改变当前linkbutton的样式 ??? ??? ??? ??? ??? ??? else ??? ??? ??? ??? ??? ??? { ??? ??? ??? ??? ??? ??? ??? pic.alpha = 1; ??? ??? ??? ??? ??? ??? ??? pic.styleName = "pic"; ??? ??? ??? ??? ??? ??? } ??? ??? ??? ??? ??? }??? ??? ??? ??? ??? } ??? ??? ??? } ??? ??? ??? ??? ??? ??? //绑定相应图片到image中 ??? ??? ??? private function getPic(evt:int):void ??? ??? ??? { ??? ??? ??? ??? this.image.source = "pictur/"+evt+".jpeg"; ??? ??? ??? ??? changePic(evt); ??? ??? ??? ??? index --; ??? ??? ??? } ??? ??? ??? ??? ??? ??? ??? ??? ]]> ??? </fx:Script> ??? <fx:Declarations> ??? ??? <!-- 将非可视元素(例如服务、值对象)放在此处 --> ??? </fx:Declarations> ??? <mx:Canvas id="ca" width="600" height="500"> ??? <mx:Image id="image" width="500" height="400" source="pictur/{picNum}.jpeg" buttonMode="true" useHandCursor="true"/> ??? <mx:VRule x="495" y="357" height="15"/> ??? </mx:Canvas> </s:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读