我有一个尝试从URL显示图像的应用程序(该URL有效),我在Google上搜索并找到了以下代码:
public void Start()
{
StartCoroutine(GetRequest(URL + code + "&position=" + position)); //the parameters are to get to the correct image in the database
}
IEnumerator GetRequest(string url)
{
UnityWebRequest request = UnityWebRequestTexture.GetTexture(url);
yield return request.SendWebRequest();
if (request.isNetworkError || request.isHttpError)
Debug.Log(request.error);
else
textureDisplayer.texture = ((DownloadHandlerTexture)request.downloadHandler).texture;
}
但是它在“ textureDisplayer.texture”部分中标记为错误,并且我将该对象作为图像,当我将其更改为MainTexture时,它说整行都有错误。
我在做什么错?
[textureDisplayer
(无论它是什么)看起来都不是材质,因此显示了错误“没有纹理的定义”。
假设您有一个名为mycube的游戏对象,您可以使用以下脚本将材料设置为textureDisplayer
:
GameObject mygameobject = GameObject.Find("mycube");
Material textureDisplayer = mygameobject.GetComponent<Renderer>().material;
然后您可以使用以下脚本访问mainTexture
:
textureDisplayer.mainTexture
您说您的textureDisplayer
是Image
。它没有属性Image
。
通常,您分配的是texture
,所以您要做的是使用Image.sprite
创建一个Image.sprite
,而改为使用该Sprite
:
Sprite