首页 > 解决方案 > 从附加到多个游戏对象的一个​​脚本中调用函数

问题描述

我有一个附加到多个游戏对象的脚本。我有另一个脚本,我从中调用第一个脚本的函数。问题是该函数没有被调用。我认为它无法找到附加在多个游戏对象中的脚本。

脚本_1

public void CallMyFunction(){
  Debug.Log("CALL");
}

脚本_2

void CallingScripts()
{
   foreach(var scr in GetComponentsInChildren<Script_1>()) {
             scr .CallMyFunction();
         }
}

我该如何解决这个问题?

标签: c#unity3d

解决方案


我创建了一个数组,然后在该数组中添加了所有脚本实例。之后我就可以调用它了。

private Script_1[] scr;

void Start()
{
     scr= FindObjectsOfType<Script_1>();
            foreach (Script_1 scrs in scr)
            {
                scrs.CallMyFunction();
            }
}

推荐阅读