1

目前我有一个函数(LoadImg),它将加载给定的文件位置并返回加载程序。最好还包括“当图像实际加载完成时”行。这通常通过事件处理程序完成。但是这样你只能说一旦图像加载运行另一个功能。但我需要“LoadImg”函数来返回图像。

function LoadImg(Img:String):Loader
{
var myLoader:Loader;

myLoader=new Loader();
myLoader.load(new URLRequest(Img));

return myLoader;
}

我怎么能说完成后只返回'myLoader'?

4

2 回答 2

1

我认为不可能将同步调用(函数返回)与异步事件(加载器完成)一起使用。

将事件侦听器附加到 Complete 事件是可行的方法,但不确定这将如何适合您的代码。

这是一个可能有用的类似问题:Image size in AS3,响应对您的问题很有用。

于 2012-11-11T21:33:25.227 回答
0

我认为解决方案是使用代理。

这个想法是代理,在这种情况下是一个图像容器。容器可以被传回并被其他函数和对象使用来设置位置。一旦图像实际加载,加载完成处理程序可以使用加载的图像更新容器。

您可以在http://www.as3dp.com/category/design-patterns/proxy/阅读有关代理设计模式的 代码示例和详细说明。

于 2012-11-11T22:24:06.803 回答