用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash应用开发>列表

FLASH加载XML:可分页相册的制作(附源码)

[来源:淘沙网 | 作者:taoshaw | 时间:2008-06-23 | 点击:  | 收藏本文  【 】]
关于FLASH加载XML相册,在网上百度一下。一大把源码。但大多都没给出完整教程。刚好最近在写一个相册,所以把完整过程记录一下。权当教程,以供其他朋友借鉴学习。欢迎拍砖。OK,先看下演示:

http://www.taoshaw.com/taoshaw/study/xml_list_photos/Taoshaw_Photos.swf

下面讲解详细过程:
1、首先,新建一个文件夹,文件夹的名称随你怎么取都OK,用于存放本相册的所有文件。
2、然后在文件夹中新建imageda、imagexiao、image.xml、Taoshaw_Photos.fla文件。如图所示:


3、然后处理一些图片放进imageda与imagexiao目录中,imagexiao目录中的图片大小为50*50。即,小图片大小。在imageda目录中的图片大小为272*271。当然,这里是我的标准,大家可以自己定义大小的。
4、新建xml文件。写XML和格式标准,在此不再多说。内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<imgtao>
<img srcxiao="imagexiao/1.jpg" srcda="imageda/1.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/2.jpg" srcda="imageda/2.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/3.jpg" srcda="imageda/3.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/4.jpg" srcda="imageda/4.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/5.jpg" srcda="imageda/5.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/6.jpg" srcda="imageda/6.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/7.jpg" srcda="imageda/7.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/8.jpg" srcda="imageda/8.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/9.jpg" srcda="imageda/9.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/10.jpg" srcda="imageda/10.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/1.jpg" srcda="imageda/1.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/2.jpg" srcda="imageda/2.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/3.jpg" srcda="imageda/3.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/4.jpg" srcda="imageda/4.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/5.jpg" srcda="imageda/5.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/6.jpg" srcda="imageda/6.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/7.jpg" srcda="imageda/7.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/8.jpg" srcda="imageda/8.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/9.jpg" srcda="imageda/9.jpg" info="欢迎光临淘沙网"/>
<img srcxiao="imagexiao/10.jpg" srcda="imageda/10.jpg" info="欢迎光临淘沙网"/>
</imgtao>
5、新建FLASH中。建立六个图层,图层名称如下:

6、然后分别建立背景黑色条、大图片背景、加载进度条、按钮等元件。
7、有一个关键的步骤,新建一空影片剪辑。然后拖到场景中,并赋予实例名“pic_holder_mc”。
8、然后在as层中添加代码:

9、代码及详细讲解如下:
//================版权声明开始================//
//★淘沙网:http://www.taoshaw.com
//★淘沙网所有教程欢迎转载。不过请转载时注明出处。谢谢合作。
//================版权声明结束================//
this["loading_mc"]._visible = false;
//统一编码
System.useCodepage = true;
/*初始化类信息开始*/
//定义总数量
var _total:Number = 20;
//定义每页显示数量
var page_size:Number = 4;
//计算总页数
var pages:Number = Math.ceil(_total/page_size);
var cur_page:Number = 1;
//定义XML类
var my_xml:XML = new XML();
//定义用于接收小图片的数组
var my_small_arr:Array = new Array();
//定义用于接收大图片的数组
var my_big_arr:Array = new Array();
//定义用于接收文本信息的数组
var my_info_arr:Array = new Array();
/*初始化类信息结束*/
//设置加载路径
my_xml.load("image.xml");
//去掉空格 
my_xml.ignoreWhite = true;
//定义用于加载小图的MovieClipLoader类
var my_smallClip:MovieClipLoader = new MovieClipLoader();
//定义用于显示加载小图信息的新项目
var my_smallObj:Object = new Object();
my_smallObj.onLoadInit = function(mc):Void {
//设置小图片的宽度
mc._width = 50;
//设置小图片的高度
mc._height = 50;
//设置小图片距离左侧注册点的距离(横向上的)
mc._x = 3;
//设置小图片距离左侧注册点的距离(纵向上的)
mc._y = 2;
};
//添加监听
my_smallClip.addListener(my_smallObj);
//定义用于加载小图片被点击后,加载的大图片的MovieClipLoader类
var my_bigClip:MovieClipLoader = new MovieClipLoader();
//定义用于显示大图片位置等信息的项目
var my_bigObj:Object = new Object();
my_bigObj.onLoadInit = function(mc):Void {
_root.loading_mc._visible = false;
//设置大图片的宽度
mc._width = 272;
//设置大图片的高度
mc._height = 271;
//设置大图片距离左侧注册点的距离(横向上的)
mc._x = 120;
//设置大图片距离左侧注册点的距离(纵向上的)
mc._y = 107;
};
//添加监听
my_bigClip.addListener(my_bigObj);
//设置加载成功代码
my_xml.onLoad = function(ok:Boolean):Void {
//如果加载成功,则运行如下代码
if (ok) {
//定义加载XML内容的数量
var my_pic_len:Number = my_xml.firstChild.childNodes.length;
for (var i:Number = 0; i<MY_PIC_LEN; {
//定义node变量,这样做的目的只是为了后面代码的简化
var node = my_xml.firstChild.childNodes;
//将加载的内容添加进前面定义的小图片、大图片、文字信息数组中
my_small_arr.push(node.attributes.srcxiao);
my_big_arr.push(node.attributes.srcda);
my_info_arr.push(node.attributes.info);
}
//以下用于显示加载的小图片
for (var i:Number = 0; i<5; i++) {
_root["press_btn"+i].img = my_big_arr;
//在按钮上面新建一个空的MC
var mc:MovieClip = _root["press_btn"+i].createEmptyMovieClip("mc", 100+i);
//加载图片
my_smallClip.loadClip(my_small_arr, mc);
//当按钮被点击的时候,就加载大图片
_root["press_btn"+i].onPress = function():Void {
//加载大图片对象
my_bigClip.loadClip(this.img, pic_holder_mc);
//根据XML信息,显示图片说明
info_txt.text = my_info_arr;
_root.loading_mc._visible = true;
};
//默认情况下加载一张大图片
my_bigClip.loadClip(my_big_arr[0], pic_holder_mc);
}
} else {
}
};
//上一页按钮代码
pre_mc.onRelease = function() {
load_images(_root.cur_page-1);
};
//下一页按钮代码
next_mc.onRelease = function() {
load_images(_root.cur_page+1);
};
//自定义加载分页时数据
function load_images(page:Number) {
//当总页数小于1时,显示第一页内容
if (page<1) {
page = 1;
} else if (page>_root.pages) {
page = _root.pages;
}
if (page == cur_page) {
return;
}
_root.cur_page = page;
var start_index = _root.page_size*(page-1);
for (var i:Number = 0; i<5; i++) {
if (i>=_total) {
break;
}
_root["press_btn"+i].img = my_big_arr[start_index+i];
//在按钮上面新建一个空的MC
var mc:MovieClip = _root["press_btn"+i].createEmptyMovieClip("mc", 100+i);
//加载图片
my_smallClip.loadClip(my_small_arr[start_index+i], mc);
//当按钮被点击的时候,就加载大图片
_root["press_btn"+i].onPress = function():Void {
my_bigClip.loadClip(this.img, pic_holder_mc);
_root.loading_mc._visible = true;
};
}
}
//================版权声明开始================//
//★淘沙网:http://www.taoshaw.com
//★淘沙网所有教程欢迎转载。不过请转载时注明出处。谢谢合作。
//================版权声明结束================//
附件下载: 淘沙网简单相册.rar
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:as2进行单个图片角色动作化处理
下一篇:flash中图形位置的半像素渲染问题
Tags:    
>>> 最新评论:(共有 1 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·flash中图形位置的半像素渲染问
·FLASH加载XML:可分页相册的制作
·as2进行单个图片角色动作化处理
·Flash Plaery10 Astro 滤镜初体
·Flash Player 10 Astro API新增
·Flash Player 10 Drawing API
·Flash导出SWC&Flex使用SWC
·FLASH推箱子游戏分析(三)推动
·flash打造抽奖类小游戏(不可重
·Flash拖拽问题通用解决代码(含as
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·flash春雷闪电效果
·Flex 3 AdvancedDataGrid的使用(第二
·Flash制作大雪纷飞效果动画
·即拷即用的loading代码
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号