为什么 UI 组件未声明为静态?



假设我的主要类是这样的:

public class mainActivity: MonoBehaviour { ... }

例如,当我想初始化一个图像时,我必须将其声明为:

public Image myImage;

只有这样,我才能从 Unity 的菜单中访问此实例。我的问题很简单。在 OOP 中,当我们想要访问变量而不创建对象时,我们将其声明为静态。所以它变成了类的变量。右?但是 Unity 允许我在非静态图像时创建图像,并且我不创建类的对象。

这怎么可能?Unity 是否在我的主类中创建任何"不可见"对象?

它不一定是一个看不见的对象。有问题的类被序列化为基于文本的类版本,Unity 可以在其中从编辑器读取/写入。如果打开 .Unity 场景文件 在文本编辑器中,您将在实践中看到此序列化。

最新更新