我希望能够使用另一个脚本中的变量从一个脚本访问变量。例如,如果我有一个包含此变量的脚本:
public bool Some_Name;
在我的另一个剧本中,我有这个:
private string nameOfThingToGet = "Some_Name";
...
GameObject.Find ("Player").GetComponent <FirstScript> () .nameOfThingToGet = false;
显然这不起作用,但我怎么能做这样的事呢?
答案 0 :(得分:3)
在您走这条路之前,您是否考虑让FirstScript
公开Dictionary<string, object>
而不是使用字段?
这允许你做
GameObject.Find("Player").GetComponent<FirstScript>().dictionary[nameOfThingToGet] = false;
答案 1 :(得分:1)
您可以使用反射来实现它。
var obj = GameObject.Find ("Player").GetComponent<FirstScript>();
FieldInfo myFieldInfo = obj.GetField(nameOfTheThingToGet,
BindingFlags.Instance);
用于设置正确的标志 作为参考,您可以访问here