我在我的电脑上测试代码。从本地文件夹加载图像并尝试在单击按钮后加载图像的高度。代码类似于第1帧
jpgHolder.loadMovie("image"+i+".jpg");
点击
后,变量i加1 第2帧中的我想通过
跟踪图像的高度trace(jpgHolder._height);
第一次点击后,我输出了0。在第二次单击后,我得到了上一个图像的加载高度,依此类推。为什么我要加载上一个图像的高度,我该如何解决?
答案 0 :(得分:0)
因为在加载完成之前,trace
被称为。
要trace
正确的高度,要获得正确的图像,您需要检查它是否已完成加载。
你可以在onEnterFrame
循环中执行,但在AS2中实现此目的的最佳方法是使用MovieClipLoader
类和侦听器对象:
// create the loader
var loader : MovieClipLoader = new MovieClipLoader();
// create a listener object: an object that holds event callbacks
var listener : Object = {};
// assign the "onLoadInit" to the listener. this will be called when loading completes
listener.onLoadInit = function(mc : MovieClip, status : Number) : Void {
trace("height:" + mc._height);
};
// load the file into the container "jpgHolder"
loader.loadClip("image" + i + "test.jpg", jpgHolder);