как вызвать функцию в одном скрипте из другого скрипта, который подключен к префабу?
Вы не можете сделать это напрямую, потому что это префаб.Чтобы получить доступ к сценарию, прикрепленному к префабу, создайте его экземпляр, затем используйте 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 в сцене (см.на вкладке Иерархия), то вам не нужно создавать его экземпляр.Просто найдите GameObject и затем используйте 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();
}