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

预制件

发布于 2017-10-01 10:02:36
您正在将下载的映像分配给profile变量,它不是实例化对象中的变量。在循环中,您需要使用transform.Find("profile")获取每个实例化对象的子对象,然后获得带有GetComponent的RawImage组件,并将其传递给ImageDownload函数。
将您的for循环替换为:
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中声明。
https://stackoverflow.com/questions/46510965
复制相似问题