【发布时间】:2017-12-10 09:36:39
【问题描述】:
我正在制作一个 Unity 项目,我需要从另一个不同的脚本(未链接到该活动场景)编辑当前活动场景的某些 UI 的文本。
我做的是
Scene scene = SceneManager.GetActiveScene();
Debug.Log (scene.name);
if (scene.name == "RangeView")
{
List<GameObject> activeObjects = new List<GameObject>();
scene.GetRootGameObjects( activeObjects );
for (int i = 0; i < activeObjects.Count; ++i)
{
GameObject gameObject = activeObjects[ i ];
if (gameObject.name == "Clubdigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
}
else if (gameObject.name == "Balldigit") {
gameObject.GetComponent<Text>().text = 10.ToString ();
} else if (gameObject.name == "Distancedigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
} else if (gameObject.name == "Ballspeeddigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
} else if (gameObject.name == "Distancedigit2") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
} else if (gameObject.name == "Backspindigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
} else if (gameObject.name == "Sidespindigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
}else if (gameObject.name == "Launchangleindigit") {
gameObject.GetComponent<Text> ().text = 10.ToString ();
}
}
}
更新不会反映在场景中。 如何更新到活动场景?
【问题讨论】:
-
我没有完全关注你...如果脚本没有运行,什么都不会发生。你能解释一下你这样做的目的吗?此外,我将进行一些重构,同时有助于提高代码的可读性。
-
谢谢。我找到了方法。我需要搜索游戏对象的孩子。
标签: c# unity3d unity3d-2dtools