·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

AS3+XML的分页功能,可以实现播放页的分页

时间:2011-06-11 15:33as63.net
利用FLASH+as3做的分页的功能,加载XML,在XML中修改数据,这里面的重点就是结合XML,难点就是分页时数据读取后,进行拆分。根据XML的长度再进行分页读取,加载图片这些都比较简单,随后附上代码

利用FLASH+as3做的分页的功能,加载XML,在XML中修改数据,这里面的重点就是结合XML,难点就是分页时数据读取后,进行拆分。根据XML的长度再进行分页读取,加载图片这些都比较简单,随后附上代码。

 

全部代码:

  1. //=========初始化==========     
  2. stop();     
  3. //页数,默认0表示第一页     
  4. var curPage_num:Number = 0;     
  5. //每页容量     
  6. var sizPage_num:Number = 15;     
  7. var countPage:int;     
  8. var countImage:int;     
  9. var currentImages:Array=[];     
  10. //每排张数     
  11. var pai_num:Number = 5;     
  12. //图片宽度、高度     
  13. var width_num:Number = 80;     
  14. var height_num:Number = 80;     
  15. //图片与图片之间的间隔     
  16. var jia_num:Number = 20;     
  17. //=============================     
  18. var url_array:Array = new Array();     
  19. var my_xml:XML;     
  20. var my_urlloader:URLLoader=new URLLoader();     
  21. my_urlloader.load(new URLRequest("xml/img.xml"));     
  22. my_urlloader.addEventListener(Event.COMPLETE,_showxml);     
  23. function _showxml(e):void {     
  24.     my_xml=new XML(e.currentTarget.data);     
  25.     for (var i:uint=0; i<my_xml.pic.length(); i++) {     
  26.         var my_Obj:Object = new Object();     
  27.         my_Obj.src = my_xml.pic[i].@name;     
  28.         url_array.push(my_Obj);     
  29.     }     
  30.     countImage=url_array.length;     
  31.     countPage=Math.ceil(countImage/sizPage_num);     
  32.     show_func(0);     
  33. }     
  34.     
  35. function remvoeAllImages():void {     
  36.     var len:int=currentImages.length;     
  37.     var item:DisplayObject;     
  38.     for (var i:int=0; i< len; i++) {     
  39.         item=currentImages[i];     
  40.         removeChild(item);     
  41.         item=null;     
  42.     }     
  43.     currentImages=[];     
  44. }     
  45. function show_func(_page:Number) {     
  46.     remvoeAllImages();     
  47.     var my_loader:Loader;     
  48.     var startIndex:int=curPage_num*sizPage_num;     
  49.     var endIndex:int=startIndex+sizPage_num;     
  50.     if (endIndex>countImage-1) {     
  51.         endIndex=countImage;     
  52.     }     
  53.     for (var d:Number = startIndex; d<endIndex; d++) {     
  54.         my_loader=new Loader();     
  55.         var tmp:MovieClip = new MovieClip();     
  56.         tmp.x = 20+d%pai_num*(width_num+jia_num);     
  57.         tmp.y = 20+Math.floor((d-startIndex)/pai_num)*(height_num+jia_num);     
  58.         my_loader.load(new URLRequest(url_array[d].src));     
  59.         tmp.addChild(my_loader);     
  60.         tmp.addEventListener(MouseEvent.CLICK,_trace);     
  61.         addChild(tmp);     
  62.         tmp._i=d;     
  63.         currentImages.push(tmp);     
  64.         function _trace(e:MouseEvent):void {     
  65.             trace(e.currentTarget.name);     
  66.             txt_show.text="您选择了第:"+e.currentTarget._i+"张相片";     
  67.         }     
  68.     }     
  69.     
  70. }     
  71. function _next(e:MouseEvent) {     
  72.     
  73.     if (curPage_num< countPage-1) {     
  74.         curPage_num++;     
  75.         show_func(curPage_num);     
  76.     
  77.     }     
  78.     
  79. }     
  80. function _pre(e:MouseEvent) {     
  81.     if (curPage_num>0) {     
  82.         curPage_num--;     
  83.         show_func(curPage_num);     
  84.     
  85.     }     
  86. }     
  87. btn_pre.txt.text="上一页";     
  88. btn_next.txt.text="下一页";     
  89. btn_pre.txt.selectable=false;     
  90. btn_next.txt.selectable=false;     
  91. btn_pre.addEventListener(MouseEvent.CLICK,_pre);     
  92. btn_next.addEventListener(MouseEvent.CLICK,_next);  

通过AS3加载XML,在XML中修改图片连接地址等,可随意修改数据。。。
 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器