文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院媒体动画Flashflash 多图动态载入
精品推荐
特别推荐
·由浅入深学习Flash制作高射炮游戏
·由浅入深学习Flash制作高射炮游戏(续)
·遮照及文字遮照的几个概念和事例
·创建一个实用Flash站点的十大技巧
·Flash动画制作实例:小野人玩摇滚
·Flash技术在电子杂志设计制作应用
·用js+flash实现网页中复制数据功能
·教你如何去掉网页上的Flash动画虚线框
·让Flash动画适应任何分辨率的网页
·基础:flash9.ocx 加载错误解决方法
·Flash AS基础精典教程
·Flash AS教程之四 动态文本的编写以及外部文本的载入
·flash载入外部文本设置颜色的问题
·Flash制作漂亮的三重卷动相册特效动画
·关于网页中Flash弹出网页窗口的详细讲解
·用FLASH遮罩效果做图片切换效果
·实例技巧:Flash与HTML实现交互的实例
·Macromedia Flex 教程: Flex入门教程
·高级游戏制作:Flash制作物体弹跳电脑游戏
·技巧:用Flash制作动画的经典问题问答
热点TOP10
·FLASH制作一个可以伸缩的导航条
·flash声音特效实例--架子鼓(图)
·由浅入深学习Flash制作高射炮游戏
·入门:Flash制作图片爆炸效果动画
·Flash动画制作实例:小野人玩摇滚
·用FLASH遮罩效果做图片切换效果
·Flash 图片轮换效果
·将数码照片做成自动放映的Flash
·高级游戏制作:Flash制作物体弹跳电脑游戏
·Flash遮罩特效实例--放大镜(图)
·用Flash MX模板制作幻灯片效果
·Flash教程:制作随机画圆弧动画
·Flash制作漂亮的三重卷动相册特效动画
·Photoshop 7.0制作一杯热茶
·Flash MV随机背景制作
·轻松做出精美3D效果 浅析Flash 3D动画制作
·Flash联合粒子特效软件打造超酷浪漫动画特效
·Macromedia Flex 教程: Flex入门教程
·Flash文字特效工具RoboFlash
·Flash8 字体特效

flash 多图动态载入

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]


XML+MovieClipLoader实现多图动态载入

本以为网上这样的教程多的是,随便一抓就是一大把,结果不甚理想,不过也看到了一些有用的文章。

还是自己动手丰衣足食吧,我们知道MovieClipLoader载入单图,还是比较简单的,但如果是多图呢,如何建立监听?如何在一副图片加载完后load下一张图片?如何与XML结合?

让我们一个一个来,首先是监听的问题,这么多图,不能新建n个object,然后分别对这几个object监听,效率太低,所以只能建立一个监听,余下的任务就是如何实现多图载入了。

基本思路

先给id赋值1,然后通过判断id与总图片数的大小,来决定是否加载下一张图片就像这样:

myObj.onLoadComplete = function() {
    if (id<=nums) {//一个图片加载完成后,判断id与nums的值,如果小于nums继续加载
        id++;
        loadpic(id);
    }
};

然后在loadpic(id)函数里执行:

myCL.loadClip(imgurl, loadpic_mc);

就可以继续加载了。

最后是与XML结合的问题,其实也满简单的,当加载完外部xml时,执行相应的函数就行了,就像这样:

myXML.onLoad = function(sUC) {
    if (suc) {
        loadStart();//载入完成后执行loadStart函数
    }
};

基本思路就是这样,贴上源码

var id = 1;
var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("list.xml");//载入xml
myXML.onLoad = function(suc) {
    if (suc) {
        loadStart();//载入完成后执行loadStart函数
    }
};
var myObj:Object = new Object();
myObj.onLoadComplete = function() {
    if (id<=nums) {//一个图片加载完成后,判断id与nums的值,如果小于nums继续加载
        id++;
        loadpic(id);
    }
};
myObj.onLoadInit = function(tar) {//加载完成后,设置图片大小
    tar._width = 85;
    tar._height = 53;
    tid = id-1;
    //将loading和灰色背景设为不可见,并给按钮加上事件
    //这里有个小技巧就是将tid赋予_BTn.pid;方便将来调用
    _root["loader"+tid+"_mc"].loading_mc._visible = false;
    _root["loader"+tid+"_mc"].bg1_mc._visible = false;
    _root["loader"+tid+"_mc"]._btn.pid = tid;
    _root["loader"+tid+"_mc"]._btn.onRelease = function() {
        ttid = this.pid;
        url = myList[ttid].childNodes[0];//取得xml文件对应的url
        getURL(url);
    };
};
var myCL:MovieClipLoader = new MovieClipLoader();
function loadStart() {
    myList = myXML.firstChild.childNodes;
    nums = myList.length;//得到图片数
    for (var i = 1; i<=nums; i++) {//复制库里的mc,并将其置于舞台上,分配好各自的坐标
        _root.attachMovie("bg_loader", "loader"+i+"_mc", 100+i);
        _root["loader"+i+"_mc"]._x = (i%5 == 0) ? 450 : (10*(i%5)+100*(i%5-1));
        ty=i%5 == 0 ? (Math.floor(i/5-1)*80) : (Math.floor(i/5)*80);
        _root["loader"+i+"_mc"]._y = 10+ty
    }
    myCL.addListener(myObj);//设置监听
    myCL.loadClip("imgs/small01.jpg", _root.loader1_mc.loadpic_mc);//加载第一副图片
}
function loadpic(id) {
    //取得xml文件里相应的图片地址
    imgurl = myList[id-1].attributes.path;
    myCL.loadClip(imgurl, _root["loader"+id+"_mc"].loadpic_mc);
}


[1] [2] 下一页 




上一篇:Flash初学者入门常见问题大总结

下一篇:Flash 图片轮换效果

flash 多图动态载入 相关文章:
·flash 多图动态载入
flash 多图动态载入 相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn