说得对 要做网络上的FLASH网站 极度不赞同用loadMovieNum/loadMovie来加载SWF或者图片,由于网络延迟问题会导致很多参数变量都不能正常显示,虽然在本地测试没问题的 但是一到网络上 就会尝到苦头了,刚做FLASH站的时候为了这个差点推翻做了好几天的东西...
movieClipLoader虽然比loadMovieNum难用点 但是这是解决的网络问题的一个很好方法
另贴一个加载类供大家使用
复制内容到剪贴板
代码:
class loadImg
{
public function loadImg(ob:MovieClip, uri:String, func:Function,loadText:TextField,loadMC:MovieClip){
if(ob && uri) {
var mcldr = new MovieClipLoader();
var ldrob = new Object();
var loadnum:Number;
ldrob.onLoadStart = function(tmc) {
//var loadProgress = mcldr.getProgress(tmc);
}
ldrob.onLoadProgress = function(tmc, loadedBytes, totalBytes) {
loadnum=int(loadedBytes/totalBytes*100);
if(loadText!=undefined){
loadText.text= "loading"+loadnum+"%"
}
if(loadMC!=undefined){
loadMC.gotoAndStop(loadnum);
}
}
ldrob.onLoadComplete = function(tmc) {
//var loadProgress = mcldr.getProgress(tmc);
}
ldrob.onLoadInit = function(tmc) {
if(func && typeof func == "function") {
func(tmc);
}
}
ldrob.onLoadError = function(tmc, errc){
}
mcldr.addListener(ldrob);
mcldr.loadClip(uri, ob);
}
}
}-------------------------------使用方法
import loadImg;
new loadImg(所装载图片或者SWF的MC,所加载图片或者SWF的路径,function (ob){
ob._width=50;
ob._height=50;
ob._x=0;
ob._y=0;
//这个函数为加载完毕后所做事,ob为加载进来后的图片或者SWF,可以对它设置大小等
},显示已加载数据百分比的TXT动态文本,100帧的加载条动画);
如果不想要文本 或者加载条,可以设置为null
------------------------------------
附上源文件一个
[
本帖最后由 moyu0921 于 2008-5-30 22:21 编辑 ]