首页 > 解决方案 > 如何获取 GameObject.FindObjectsOfTypeAll() UnityEngine 函数的 il2cpp 类的类型?

问题描述

我正在尝试GameObject.FindObjectsOfTypeAll()在 UnityEngine 中使用,它要求 Il2Cpp 类,如果我这样做GameObject.FindObjectsOfTypeAll(typeof(Image)) 了,我会收到错误消息cannot convert from "System.Type" to "Il2cppSystem.Type"

我也尝试使用 GameObject.FindObjectsOfTypeAll(Il2CppSystem.Type.GetType("Image")) 但这以空引用异常结束。

这就是我想要做的,但它显然没有进入 foreach

foreach (GameObject image in GameObject.FindObjectsOfTypeAll(typeof(Image)))
            {
                image.GetComponent<Image>().color = panelColor;
            }

foreach (GameObject image in GameObject.FindObjectsOfTypeAll(Il2CppSystem.Type.GetType("Image")))
            {
                image.GetComponent<Image>().color = panelColor;
            }

标签: c#unity3dil2cpp

解决方案


Resources.FindObjectsOfTypeAll(typeof(UnityEngine.UI.Image)

或者

 Resources.FindObjectsOfTypeAll<UnityEngine.UI.Image>()

也许你使用一些命名空间它也有“图像”类。所以试着把它的类型全命名空间。


推荐阅读