我在c#unity中使用www从URL加载纹理。由于存在多个纹理,我想异步加载它们并通过将它们更改为精灵来显示它们在单位4.6图像中,因此我想将Image引用作为out参数传递给协同程序,而协同程序又会产生纹理。 我已经尝试过回调/代理,但这不符合我的目的。 帮我解决这个问题。 我只是希望将这些图像分配给UI元素,并且不希望手动存储它们并在以后分配它们。因为那不是最好的方法。虽然我使用的方法也不是应该的,所以建议我如何能够毫不费力地实现这一目标。
答案 0 :(得分:1)
使用回调尝试此协程
StartCoroutine(Request(delegate(WWW www){
print("Success");
//do something with www.texture here
},delegate(WWW www){
print("Failure");
}));
IEnumerator Request(System.Action<WWW> SuccessCallback, System.Action<WWW> FailureCallback) {
WWW www = new WWW("http://my-page.com/");
yield return www;
if(www.error == null){
SuccessCallback(www);
} else {
FailureCallback(www);
}
}