发新话题
打印

[基础] XML图片加载示例,带分页效果

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

复制内容到剪贴板
代码:
//=========初始化==========
//页数,默认0表示第一页
var curPage_num:Number = 0;
//每页容量
var sizPage_num:Number = 15;
//每排张数
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();
this.pagedown_btn._visible = false;
this.pageup_btn._visible = false;
//=========透明函数========
function alpha_func(_mc:MovieClip) {
_mc._alpha = 5;
_mc.onEnterFrame = function() {
  this._alpha += 5;
  this._alpha>=95 ? delete this.onEnterFrame : 闪吧;
};
}
//============MCL类===========
var _mcl:MovieClipLoader = new MovieClipLoader();
this.onLoadInit = function(_mc:MovieClip) {
_mc._txt.removeTextField();
_mc._width = 80;
_mc._height = 80;
alpha_func(_mc);
};
//=========加载进度显示==============
this.onLoadProgress = function(_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
_mc.createTextField("_txt", 200, 20, 10, 60, 30);
_mc._txt.textColor = 0xff0000;
_mc._txt.text = Math.floor((bytesLoaded/bytesTotal*10000)/100)+"%";
};
//=========加载错误提示==============
this.onLoadError = function(_mc:MovieClip) {
_mc.createTextField("_txt", 200, 20, 10, 60, 30);
_mc._txt.textColor = 0xff0000;
_mc._txt.text = "加载失败!";
};
_mcl.addListener(this);
//===========XML加载============
var url_xml:XML = new XML();
url_xml.ignoreWhite = true;
url_xml.onLoad = function(success) {
if (success) {
  for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
   url_array.push(this.firstChild.childNodes[d].attributes.name);
  }
  enabled_func();
} else {
  trace("xml文档加载失败!");
}
};
url_xml.load("xml/img.xml");
var show_func:Function = function (_page:Number) {
if (_page<1 && _page>=Math.ceil((url_array.length-1)/sizPage_num)-1) {
  this.pageup_btn.enabled = false;
  this.pagedown_btn.enabled = false;
} else if (_page<1) {
  this.pageup_btn.enabled = false;
  this.pagedown_btn.enabled = true;
} else if (_page>=Math.ceil((url_array.length-1)/sizPage_num)-1) {
  this.pagedown_btn.enabled = false;
  this.pageup_btn.enabled = true;
} else {
  this.pageup_btn.enabled = true;
  this.pagedown_btn.enabled = true;
}
for (var d:Number = 0; d<sizPage_num; d++) {
  //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});
  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)});
}
for (var d:Number = 0; d<sizPage_num; d++) {
  if (_page*sizPage_num+d>=url_array.length) {
   break;
  }
  _mcl.loadClip(url_array[_page*sizPage_num+d], this["pic_mc"+d]);
}
};
function enabled_func() {
this.pagedown_btn._visible = true;
this.pageup_btn._visible = true;
show_func(curPage_num);
this.pagedown_btn.onRelease = function() {
  if (curPage_num<Math.floor(url_array.length/sizPage_num)) {
   curPage_num++;
   show_func(curPage_num);
  }
};
this.pageup_btn.onRelease = function() {
  if (curPage_num>0) {
   curPage_num--;
   show_func(curPage_num);
  }
};
}
同时附带另一个源文件,图片依次加载效果(也就是加载完一个接着加载下一个)

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

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

附件

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

2007-7-24 22:04, 下载次数: 720

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

2007-7-21 23:14, 下载次数: 671

TOP

sofa

TOP

建议:变量名尽量不要用专业英语!强制定义类型不用好像也能正常运行!
(给初学者容易懂一点!一般刚开始学的话都会被这些东西搞头晕的!)

TOP

好好,高人,我要FLASH MX版本的。我暂时不敢上网下载FLASH 8,怕猫被封了,谢谢。麻烦传到
http://bbs.blueidea.com/viewthre ... page%3D1#pid3426032上面去,

TOP

支持老大个

TOP

支持终极!!!!!!!!!!!!!好东西

TOP

怎么就这么强呢?? 顶了

TOP

支持!

TOP

http://blog.zhu08.cn

TOP

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)});
//另外能加个点图片后在固定区域按一定比例放大效果(含文字说明信息等)就更好,或点图片后到相应的页面地址

TOP

引用:
原帖由 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!!

TOP

不得了

TOP

高手就是高手啊,

TOP

支持 !·~~!·桭在

TOP

UP

TOP

学习,消化。

TOP

很好的贴子
顶一个
只有信念使快乐真实!
快乐,是精神和肉体的朝气,是希望和信念,是对自己的现在和来来的信心,是一切都该如此进行的信念!

TOP

发新话题