首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >团结。下载后,我的rawimage映像仍然是空的。

团结。下载后,我的rawimage映像仍然是空的。
EN

Stack Overflow用户
提问于 2017-10-01 09:21:36
回答 1查看 844关注 0票数 0

嗨,我的场景名是game.In,那个场景我有一个主板,它的名字是ITEMCONTAINER。在项目容器中,我有一个名为ITEM的面板。我在项目面板中附加了一个脚本。在那个脚本中,我有一个游戏对象公共,一个原始图像,文本和循环将继续多少次是公开的。在游戏对象的位置,我附加了我的预制件,其中包含一个文本和2个and图像。代替文字,我附上文字组件的预制件和相同的原始图像。当我运行游戏时,我得到的文本值是正确的,但是rawimage在runtime.Here中显示为空白,我正在运行我的循环3次,并且所有三次它都创建了我的预置面板的克隆,在itempanel中,我希望在运行时使用rawimage动态。

输出

预制件

  1. image=在这个图像中,它包含的output.here but图像是空白的,但文本值却是完美的。
  2. 映像=我的预置文件在运行时将是克隆的,这里显示图像,但在运行时,它显示为空白。 使用System.Collections;使用System.Collections.Generic;使用UnityEngine;使用UnityEngine.UI;公共类DynamicData : MonoBehaviour { public GameObject prefab;公共文本名称;public int numberToCreate;public RawImage配置文件;void () { for (int i= 0;i< numberToCreate;i++) { name.text = "a"+i;StartCoroutine( Profile);实例化(prefab,transform);} IEnumerator ImageDownload ( RawImage img) { www =新WWW (“https://www.w3schools.com/w3images/fjords.jpg"”);收益率回波www;Texture2D织构=新Texture2D (1,1);texure.LoadImage (www.bytes);texure.Apply ();img.texture =织构}; }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-01 10:02:36

您正在将下载的映像分配给profile变量,它不是实例化对象中的变量。在循环中,您需要使用transform.Find("profile")获取每个实例化对象的子对象,然后获得带有GetComponentRawImage组件,并将其传递给ImageDownload函数。

将您的for循环替换为:

代码语言:javascript
复制
for (int i = 0; i < numberToCreate; i++)
{
    name.text = "a" + i;

    GameObject instance = Instantiate<GameObject>(prefab, transform);
    //Get RawImage of the current instance
    RawImage rImage = instance.transform.Find("profile").GetComponent<RawImage>();
    StartCoroutine(ImageDownload(rImage));
}

请将public Text name;重命名为其他类似于public Text userName;的名称,因为该名称已经在您派生的脚本的MonoBehavior中声明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46510965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档