我对C#和Unity都是陌生的(但是,我确实知道一些Java),并且我试图从2个单独的类中访问另一个方法。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9VUkphTy5wbmcifQ==” alt =“游戏对象层次结构”>
我的空对象-Star-具有访问脚本(StarMain),并且它的子对象是Light,Star Base(具有我需要使用的两个类之一-StarBase),Star Upper(具有另一个类-StarUpper)和Glow(我最终将需要访问它的附加类--StarGlow
我真正想要帮助的方法称为create
,需要将变量radius
(双精度)和color
(整数)传递给它们。
游戏中最终将有大量的Star副本。如有必要,我会很高兴在此处添加代码。
据我了解,您想从Star Base
访问Star
上的类。如果是正确的话,可以说您在StarBase
对象上有一个名为Star Base
的脚本。并想从Star
对象上的Star
脚本访问它。然后,您可以在Star
中编写一个公共字段,您将从StarBase
对象中分配Star Base
脚本。这听起来可能令人困惑,但请忍受我。
在您的Star
脚本中:
public class Star: MonoBehaviour {
public StarBase starBase;
}
如果在Unity中现在转到Star
对象,则应该在Star
组件下看到一个字段。将Star Base
对象拖放到该字段。现在,您可以从starBase
中的Star
字段访问所有内容。
作为旁注,您也可以使用GameObject.Find等,但是要小心,因为如果您的场景中有很多游戏对象,它们可能会增加计算量。