WEB开发网
开发学院图形图像Flash AS3+XML的分页功能,可以实现播放页的分页 阅读

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

 2012-02-06 12:12:12 来源:本站整理   
核心提示:利用FLASH+as3做的分页的功能,加载XML,AS3+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中修改图片连接地址等,可随意修改数据。。。
 

Tags:AS XML 功能

编辑录入:coldstar [复制链接] [打 印]
赞助商链接