目前我有一个函数(LoadImg),它将加载给定的文件位置并返回加载器。最好还包括“当图像实际上已完成加载”行时的内容。通常使用事件处理程序完成。但有了这样你只能说一旦图像加载了另一个功能。但我需要'LoadImg'函数来返回图像。
function LoadImg(Img:String):Loader
{
var myLoader:Loader;
myLoader=new Loader();
myLoader.load(new URLRequest(Img));
return myLoader;
}
我怎么能说完成后只返回'myLoader'?
答案 0 :(得分:1)
我不认为可以使用异步事件(加载器完成)进行同步调用(函数返回)。
将事件监听器附加到Complete事件是可行的方法,不确定它将如何适合您的代码。
以下是一个可能有用的类似问题:Image size in AS3,回复对您的问题很有用。
答案 1 :(得分:0)
我认为解决方案是使用代理。
这个想法是代理,在这种情况下是一个图像容器。容器可以传回并由其他功能和对象使用以设置位置。实际加载图像后,加载完成处理程序可以使用加载的图像更新容器。
您可以阅读有关代理设计模式的信息 http://www.as3dp.com/category/design-patterns/proxy/包含代码示例和详细说明。