当前位置:软件学习 > Flash >>

flash 动态加载外部图片实现方法

一、首先创建一个文本文件,用来存储图片信息,这个文件可以通过后台程序(如PHP)来修改生成。
新建文本文件名为imginfo.txt
以下是文本内容,是图片名称和描述的序列:

程序代码

 代码如下 复制代码
&imgvar=1.png,图片一|2.png,图片二|3.png,图片三|4.png,图片四

二、创建flash文件
在主场景中分别建立“下一张按钮(btn_next)”“上一张按钮(btn_previous)”以及用来载入图片的空MC(image)和显示图片描述的动态文本框(var=imagetxt).

然后在主时间轴第一帧写如以下代码:

1.载入图片的文本信息文件,然后转换成二维数组。

程序代码

 代码如下 复制代码

System.useCodepage=true;
var lv_img=new LoadVars();
_global.img_array=new Array();
_global.imginfo_array=new Array();
lv_img.onLoad=function(success){
if(success){
trace("载入成功!");
img_array=this.imgvar.split("|");
for(i=0;i<=img_array.length-1;i++){
imginfo_array[i]=img_array[i].split(",");
}
_root.image.loadMovie(imginfo_array[0][0]);
_root.imagetxt=imginfo_array[0][1];
trace(imginfo_array);


}else{
trace("信息载入失败!");
}

}
lv_img.load("imginfo.txt");//载入文本信息文件

2.加入上一张及下一张按钮的动作

程序代码

 代码如下 复制代码

var j=0;

btn_previous.onPress=function(){
trace(j);
if(j<=0){j=img_array.length;}
_root.image.loadMovie(imginfo_array[j-1][0]);
_root.imagetxt=imginfo_array[j-1][1];
j--;

}

btn_next.onPress=function(){
//trace(j);
if(j>=img_array.length-1){j=-1;}
_root.image.loadMovie(imginfo_array[j+1][0]);
_root.imagetxt=imginfo_array[j+1][1];
j++;
}

OK,把所有文件放在同一目录,输出后就可以了。


加载外部的SWF文件呢?这里就需要用到两个ACTION关键词:loadmovie或loadmovienum(它们之间的差别,下面会讲到)

先让我们来看一句写在时间轴上的代码:

 代码如下 复制代码
loadMovieNum("about.swf",2);

//加载about.swf到主动画的第二个级别(级别是相对于不同swf文件而言的,其作用我们可以理解为层,比如FLASH里的层,上一层的东西将覆盖下一层的东西,而级别则是上一级别的场景覆盖下一级别的场景)(用loadMovieNum语句来加载动画,会受到浏览器的安全限制,所以只能加载本地或同一服务器上的SWF文件。)
运用这一句代码我们就可以做一个简单的SWF文件的加载。

 代码如下 复制代码

function onLoadStart(target) {
 attachMovie("preloader anim", "preloader_mc", 500, {_x:275, _y:165});
}
function onLoadProgress(target, bytes_loaded, bytes_total) {
 target.stop();
 target._visible = false;
 preloader_mc.value = bytes_loaded/bytes_total;
}
function onLoadComplete(target) {
 trace("complete");
 target.play();
 target._visible = true;
 preloader_mc.removeMovieClip();
}
function onLoadError(target, error_code) {
 preloader_mc.removeMovieClip();
 trace(error_code);
}

当预载开始时,贴加preloader anim元件,当预载结束后,会移除
当下载进行时,不断更新preloader,相当于不用movieclipLoader时的onEnterFrame.
停止并隐藏target
设置preloader的变量
当loading结束时
显示并播放载入的内容
移除preloader_mc

补充:flash教程,动画技术
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,