返回列表 回复 发帖

XML图片加载示例,带分页效果

  1. //=========初始化==========
  2. //页数,默认0表示第一页
  3. var curPage_num:Number = 0;
  4. //每页容量
  5. var sizPage_num:Number = 15;
  6. //每排张数
  7. var pai_num:Number = 5;
  8. //图片宽度、高度
  9. var width_num:Number = 80;
  10. var height_num:Number = 80;
  11. //图片与图片之间的间隔
  12. var jia_num:Number = 20;
  13. //=============================
  14. var url_array:Array = new Array();
  15. this.pagedown_btn._visible = false;
  16. this.pageup_btn._visible = false;
  17. //=========透明函数========
  18. function alpha_func(_mc:MovieClip) {
  19. _mc._alpha = 5;
  20. _mc.onEnterFrame = function() {
  21.   this._alpha += 5;
  22.   this._alpha>=95 ? delete this.onEnterFrame : 闪吧;
  23. };
  24. }
  25. //============MCL类===========
  26. var _mcl:MovieClipLoader = new MovieClipLoader();
  27. this.onLoadInit = function(_mc:MovieClip) {
  28. _mc._txt.removeTextField();
  29. _mc._width = 80;
  30. _mc._height = 80;
  31. alpha_func(_mc);
  32. };
  33. //=========加载进度显示==============
  34. this.onLoadProgress = function(_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
  35. _mc.createTextField("_txt", 200, 20, 10, 60, 30);
  36. _mc._txt.textColor = 0xff0000;
  37. _mc._txt.text = Math.floor((bytesLoaded/bytesTotal*10000)/100)+"%";
  38. };
  39. //=========加载错误提示==============
  40. this.onLoadError = function(_mc:MovieClip) {
  41. _mc.createTextField("_txt", 200, 20, 10, 60, 30);
  42. _mc._txt.textColor = 0xff0000;
  43. _mc._txt.text = "加载失败!";
  44. };
  45. _mcl.addListener(this);
  46. //===========XML加载============
  47. var url_xml:XML = new XML();
  48. url_xml.ignoreWhite = true;
  49. url_xml.onLoad = function(success) {
  50. if (success) {
  51.   for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
  52.    url_array.push(this.firstChild.childNodes[d].attributes.name);
  53.   }
  54.   enabled_func();
  55. } else {
  56.   trace("xml文档加载失败!");
  57. }
  58. };
  59. url_xml.load("xml/img.xml");
  60. var show_func:Function = function (_page:Number) {
  61. if (_page<1 && _page>=Math.ceil((url_array.length-1)/sizPage_num)-1) {
  62.   this.pageup_btn.enabled = false;
  63.   this.pagedown_btn.enabled = false;
  64. } else if (_page<1) {
  65.   this.pageup_btn.enabled = false;
  66.   this.pagedown_btn.enabled = true;
  67. } else if (_page>=Math.ceil((url_array.length-1)/sizPage_num)-1) {
  68.   this.pagedown_btn.enabled = false;
  69.   this.pageup_btn.enabled = true;
  70. } else {
  71.   this.pageup_btn.enabled = true;
  72.   this.pagedown_btn.enabled = true;
  73. }
  74. for (var d:Number = 0; d<sizPage_num; d++) {
  75.   //attachMovie("pic_mc", "pic_mc"+d, d+1000, {_x:20+Math.floor(d/Math.floor(Math.sqrt(sizPage_num)))*100, _y:20+d%Math.floor(Math.sqrt(sizPage_num))*100});
  76.   attachMovie("pic_mc", "pic_mc"+d, d+1000, {_x:20+d%pai_num*(width_num+jia_num), _y:20+Math.floor(d/pai_num)*(height_num+jia_num)});
  77. }
  78. for (var d:Number = 0; d<sizPage_num; d++) {
  79.   if (_page*sizPage_num+d>=url_array.length) {
  80.    break;
  81.   }
  82.   _mcl.loadClip(url_array[_page*sizPage_num+d], this["pic_mc"+d]);
  83. }
  84. };
  85. function enabled_func() {
  86. this.pagedown_btn._visible = true;
  87. this.pageup_btn._visible = true;
  88. show_func(curPage_num);
  89. this.pagedown_btn.onRelease = function() {
  90.   if (curPage_num<Math.floor(url_array.length/sizPage_num)) {
  91.    curPage_num++;
  92.    show_func(curPage_num);
  93.   }
  94. };
  95. this.pageup_btn.onRelease = function() {
  96.   if (curPage_num>0) {
  97.    curPage_num--;
  98.    show_func(curPage_num);
  99.   }
  100. };
  101. }
复制代码
同时附带另一个源文件,图片依次加载效果(也就是加载完一个接着加载下一个)

以上两个实例都是在经典论坛回贴时做的,用了人家现成的图片,虽不算什么特别的东东,但AS也是我原创。

[ 本帖最后由 终极讨厌 于 2007-7-24 22:04 编辑 ]

XML加载图片分页.rar (132.51 KB)

图片依次加载.rar (62.77 KB)

sofa
建议:变量名尽量不要用专业英语!强制定义类型不用好像也能正常运行!
(给初学者容易懂一点!一般刚开始学的话都会被这些东西搞头晕的!)
好好,高人,我要FLASH MX版本的。我暂时不敢上网下载FLASH 8,怕猫被封了,谢谢。麻烦传到
http://bbs.blueidea.com/viewthre ... page%3D1#pid3426032上面去,:(

支持老大个

支持终极!!!!!!!!!!!!!好东西
怎么就这么强呢??:lol 顶了
支持!
這還有一個
http://kamon.xinwen520.net/photos/Image.swf
:loveliness:
http://blog.zhu08.cn
attachMovie("pic_mc", "pic_mc"+d, d+1000, {_x:20+d%pai_num*(height_num+jia_num), _y:20+Math.floor(d/pai_num)*(width_num+jia_num)});//这句是不是改成:
attachMovie("pic_mc", "pic_mc"+d, d+1000, {_x:20+d%pai_num*(width_num+jia_num), _y:20+Math.floor(d/pai_num)*(height_num+jia_num)});
//另外能加个点图片后在固定区域按一定比例放大效果(含文字说明信息等)就更好,或点图片后到相应的页面地址
原帖由 8765004 于 2007-7-24 09:57 发表
attachMovie("pic_mc", "pic_mc"+d, d+1000, {_x:20+d%pai_num*(height_num+jia_num), _y:20+Math.floor(d/pai_num)*(width_num+jia_num)});//这句是不是改成:
attachMovie("pic_mc ...
呵呵,版主厉害,那句确实写反了!!PF!!
不得了
高手就是高手啊,:handshake
支持 !·~~!·桭在
UP
:victory:
学习,消化。
很好的贴子
顶一个
只有信念使快乐真实!
快乐,是精神和肉体的朝气,是希望和信念,是对自己的现在和来来的信心,是一切都该如此进行的信念!
返回列表