实例化的predb应该从主脚本中调用一个函数
本文关键字:调用 函数 一个 脚本 predb 实例化 | 更新日期: 2023-09-27 18:19:28
我想要这样的东西。
ComponentTest.cs-这个脚本被附加到场景中的一个空游戏对象上。
public class ComponentTest : MonoBehaviour {
public GameObject boxPrefab;
void Start () {
GameObject temp = Instantiate(boxPrefab, new Vector3(0,0,0), Quaternion.identity) as GameObject;
temp.GetComponent<PrefabBox> ().go = gameObject.GetComponent<ComponentTest>().Yes();
}
public void Yes(){
print("yes");
}
}
和预制框.cs-这个脚本附在预制框上。
public class PrefabBox : MonoBehaviour {
public GameObject go;
void Start () {
go ();
}
}
我得到这个错误:
成员"PrefabBox.go"不能用作方法或委托
首先,go
对象被声明为GameObject,但随后您为其分配了一个函数,然后像函数一样调用它。
看起来你想要的闭包可以将函数存储到变量中,并以你的方式调用它们
这篇文章涵盖了它:http://answers.unity3d.com/questions/494640/capturing-a-variable-in-a-closure-behaves-differen.html
似乎数据类型需要是Action
,但最好阅读它以正确掌握它。
祝你好运。