2 回答
TA贡献1895条经验 获得超3个赞
如何从附加到预制件的其他脚本中调用一个脚本中的函数?
你不能直接这样做,因为这是一个预制件。要访问附加到预制件的脚本,请实例化预制件,然后使用GetComponent获取脚本。
//Assign the prefab from the Editor
public GameObject prefab;
public ScriptB MyScript;
void Start()
{
//Instantiate prefab
GameObject obj = Instantiate(prefab);
//Get script attached to it
MyScript = obj.GetComponent<ScriptB>();
//Call the function
MyScript.function();
}
如果ScriptB已经附加到场景中的 GameObject(在 Hierarchy 选项卡中看到),那么您不必实例化它。只需找到游戏对象,然后使用它GetComponent来获取附加到它的脚本。
ScriptB MyScript;
void Start()
{
//Find the GameObject
GameObject obj = GameObject.Find("NameOfGameObjectScriptBIsAttachedTo");
//Get script attached to it
MyScript = obj.GetComponent<ScriptB>();
//Call the function
MyScript.function();
}
TA贡献1804条经验 获得超3个赞
如果您使用公共游戏对象,则可以参考该脚本。然后就可以参考脚本中的函数了。
//This would be in script A
public gameObject objectB;
void Start () {
objectB.functionB();
}
只需确保您的函数是public void.
//This would be in script B
public void functionB () {
//Do something
}
- 2 回答
- 0 关注
- 456 浏览
添加回答
举报