高分求解一个loadMovie的问题

linuxbing 2006-05-30 09:41:42
使用mc.loadMovie装载一个图片或者swf文件后,trace这个mc的width和height,都是0,使用mc.getRect()得到的最大最小xy坐标都是6710886.35,反正就是没办法得到这个mc的真实宽度和高度,有什么办法解决吗?
...全文
212 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
madinsect 2007-04-27
  • 打赏
  • 举报
回复
太感谢了~~~~~
T.T
miaoliujun 2006-05-30
  • 打赏
  • 举报
回复
因为loadMovie是异步的,所以你在这个语句之后肯定是得到0

一种方法,是在setInterval中判断这个mc的width是否已经>0了,如果已经大于0,那么这时候停止interval,并且取出width,height

还有一种方法就是使用 MovieClipLoader 使用它的onLoadComplete 事件
linuxbing 2006-05-30
  • 打赏
  • 举报
回复
相当有帮助,结贴。
xiaomantoubaba 2006-05-30
  • 打赏
  • 举报
回复
对不起,这里打错了,
1.var my_mcl:MovieClipLoader = new MovieClipLoader();
2.var listener:Object = new Object();
3.listener.onLoadInit = function (target_mc:MovieClip) {
4. trace(target_mc._width);
5.}
6.my_mcl.addListener(listener);
7.my_mcl.loadClip(图片的路径, 容器mc);
xiaomantoubaba 2006-05-30
  • 打赏
  • 举报
回复
//
load图片是属于I/O操作,是需要时间的(这个时间和网络速度,机器配置都有关系,假设需要1小时),
那么计算机不会等1个小时后再执行下一行,中断当前执行,去执行下一行代码,过了一小会(一个时间片段)
计算机又会回头执行加载图片动作,然后又中断当前动作,去执行后面的代码,这样反复,知道图片加载完成。
那么这个动作是多线程的。


1.var my_mc:MovieClip = _root.createEmptyMovieClip("my_mc", _root.getNextHighestDepth());
2.my_mc.loadMovie(图片所在路径);
3.trace(my_mc._width);
那么当代码执行到第3行的时候,实际第2行还没执行完,也就是说图片根本没到my_mc里头去。

那么我们应该怎么做?不要采用loadMovie,好象很多做课件的人都喜欢用loadMovie。
1.var my_mcl:MovieClipLoader = new MovieClipLoader();
2.var listener:Object = new Object();
3.listener.onLoadInit = function (target_mc:MovieClip) {
4. trace(target_mc._width);
5.}
6.my_mcl.addListener(listener);
7.my_mcl.loadClip(图片的路径);
注意,这里的 3-5 行
你可以参考以下 MovieClipLoader类,然后了解以下同步异步的不同,或者多线程。这里实际就是一个异步的问题。
faterain 2006-05-30
  • 打赏
  • 举报
回复
试试这段代码:
添加到任意一个button,index.swf为加载外部的swf文件。

on (release) {
var loadListener:Object = new Object();
loadListener.onLoadInit = function(target_mc:MovieClip):Void {
trace(">> target_mc._width: "+target_mc._width);
};
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
var image:MovieClip = _root.createEmptyMovieClip("image", _root.getNextHighestDepth());
mcLoader.loadClip("index.swf", image);
}

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧