我厌倦了调试,但不知道是什么问题
foreach (string go in dist)
{
Debug.Log("gameobject texture change " + go);
Debug.Log(go.ToString());
Debug.Log(go.GetType());
string s = go;
string ss = "GRB_BLD_RESIDENT_z17x68817y86702_V0_L9_2015_18";
Debug.Log(GameObject.Find("GRB_BLD_RESIDENT_z17x68817y86702_V0_L9_2015_18").name);
Debug.Log(GameObject.Find(ss).name);
if (GameObject.Find(s.ToString()) != null)
{
Debug.Log(GameObject.Find(s).name);
Debug.Log("gameobject is not null");
}
else {
Debug.Log("gameobject is null");
}
如果我使用它,
Debug.Log(GameObject.Find("GRB_BLD_RESIDENT_z17x68817y86702_V0_L9_2015_18").name);
它将带来游戏对象,但使用循环它不起作用。我记录所有的名字都是正确的。
答案 0 :(得分:0)
如果我理解正确你试图找到dist
中的所有游戏对象,对吗?
你的Debug.Log(go.ToString())
输出是什么?
go已经是一个字符串,我怀疑从ToString()
获取string
只会返回string
而不是字符串的值。
答案 1 :(得分:0)
以下代码工作的原因是Debug.Log(GameObject.Find(“GRB_BLD_RESIDENT_z17x68817y86702_V0_L9_2015_18”)。name);因为您正在使用Gameobject类并访问其名称属性。
但是在你的foreach循环中,如果你使用foreach(在dict中的Gameobject obj),你正在迭代dict并使用它的字符串元素,那么上面的方法就可以了。
如果(go ==“nameOfObject”)
,您也可以这样做希望有所帮助