AS3+XML的分页功能,可以实现播放页的分页
利用FLASH+as3做的分页的功能,加载XML,在XML中修改数据,这里面的重点就是结合XML,难点就是分页时数据读取后,进行拆分。根据XML的长度再进行分页读取,加载图片这些都比较简单,随后附上代码
利用FLASH+as3做的分页的功能,加载XML,在XML中修改数据,这里面的重点就是结合XML,难点就是分页时数据读取后,进行拆分。根据XML的长度再进行分页读取,加载图片这些都比较简单,随后附上代码。
全部代码:
- //=========初始化==========
- stop();
- //页数,默认0表示第一页
- var curPage_num:Number = 0;
- //每页容量
- var sizPage_num:Number = 15;
- var countPage:int;
- var countImage:int;
- var currentImages:Array=[];
- //每排张数
- var pai_num:Number = 5;
- //图片宽度、高度
- var width_num:Number = 80;
- var height_num:Number = 80;
- //图片与图片之间的间隔
- var jia_num:Number = 20;
- //=============================
- var url_array:Array = new Array();
- var my_xml:XML;
- var my_urlloader:URLLoader=new URLLoader();
- my_urlloader.load(new URLRequest("xml/img.xml"));
- my_urlloader.addEventListener(Event.COMPLETE,_showxml);
- function _showxml(e):void {
- my_xml=new XML(e.currentTarget.data);
- for (var i:uint=0; i<my_xml.pic.length(); i++) {
- var my_Obj:Object = new Object();
- my_Obj.src = my_xml.pic[i].@name;
- url_array.push(my_Obj);
- }
- countImage=url_array.length;
- countPage=Math.ceil(countImage/sizPage_num);
- show_func(0);
- }
- function remvoeAllImages():void {
- var len:int=currentImages.length;
- var item:DisplayObject;
- for (var i:int=0; i< len; i++) {
- item=currentImages[i];
- removeChild(item);
- item=null;
- }
- currentImages=[];
- }
- function show_func(_page:Number) {
- remvoeAllImages();
- var my_loader:Loader;
- var startIndex:int=curPage_num*sizPage_num;
- var endIndex:int=startIndex+sizPage_num;
- if (endIndex>countImage-1) {
- endIndex=countImage;
- }
- for (var d:Number = startIndex; d<endIndex; d++) {
- my_loader=new Loader();
- var tmp:MovieClip = new MovieClip();
- tmp.x = 20+d%pai_num*(width_num+jia_num);
- tmp.y = 20+Math.floor((d-startIndex)/pai_num)*(height_num+jia_num);
- my_loader.load(new URLRequest(url_array[d].src));
- tmp.addChild(my_loader);
- tmp.addEventListener(MouseEvent.CLICK,_trace);
- addChild(tmp);
- tmp._i=d;
- currentImages.push(tmp);
- function _trace(e:MouseEvent):void {
- trace(e.currentTarget.name);
- txt_show.text="您选择了第:"+e.currentTarget._i+"张相片";
- }
- }
- }
- function _next(e:MouseEvent) {
- if (curPage_num< countPage-1) {
- curPage_num++;
- show_func(curPage_num);
- }
- }
- function _pre(e:MouseEvent) {
- if (curPage_num>0) {
- curPage_num--;
- show_func(curPage_num);
- }
- }
- btn_pre.txt.text="上一页";
- btn_next.txt.text="下一页";
- btn_pre.txt.selectable=false;
- btn_next.txt.selectable=false;
- btn_pre.addEventListener(MouseEvent.CLICK,_pre);
- btn_next.addEventListener(MouseEvent.CLICK,_next);
通过AS3加载XML,在XML中修改图片连接地址等,可随意修改数据。。。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...