在Unity C#中,如何访问附加到对象的类,该对象是我从中访问的类的对象的子级?

问题描述 投票:-1回答:1

我对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副本。如有必要,我会很高兴在此处添加代码。

c# unity3d
1个回答
0
投票

据我了解,您想从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等,但是要小心,因为如果您的场景中有很多游戏对象,它们可能会增加计算量。

© www.soinside.com 2019 - 2024. All rights reserved.