我什么时候应该使用 public、private 或 [SerializeField]?哪个最实用?
Asa*_*ado 16
首先,您需要确保您了解公共变量和私有变量之间的区别。这是不同访问修饰符的官方文档。我强烈建议你通读它,但一个简单的版本是公共变量可以被其他类引用,而私有变量不能。想象一下,如果您有一个Player
带有Health
字段的类。让我们假设根据您的设计,您需要一个GameManager
类来检查Player
的健康状况以确定玩家是否还活着。如果该Health
字段是公共的,则可以通过引用来实现。Player.Health
如果该Health
字段是私有的,则只能在Player
类内部访问。
在 Unity 的上下文中,公共字段显示在检查器中,因此如果您将Player
组件附加到 a GameObject
,该Health
字段将可见并且您将能够在检查器中对其进行编辑。如果该字段是私有的,您将不会在检查器中看到它。
但是,在某些情况下,您希望在检查器中显示私有字段或在检查器中隐藏公共字段。出于这些目的,我们有[SerializeField]
和[HideInInspector]
。顾名思义,[SerializeField]
可以添加在私有字段之前以使其在检查器中可见,[HideInInspector]
也可以添加在公共字段之前以将其隐藏在检查器中。
声明新变量时,默认情况下将其保持为私有,除非您希望从另一个类引用它。然后,在编写代码后,添加[SerializeField]
并[HideInInspector]
在必要时在 Inspector 中实现所需的组件外观。
归档时间: |
|
查看次数: |
6960 次 |
最近记录: |