我之前学习了纯C#,但我认为Unity中(使用C#)的脚本编写有点不够直观。
例如,似乎大多数人(尤其是初学者)在Unity中使用脚本的最常见方式是创建一个“单次使用”类型的脚本,并将其附加到实际的游戏对象上(通过点击并将其拖动到脚本组件)。这种情况下,继承的使用似乎非常少。或者我可能弄反了。我应该在Game Objects外部创建类/继承,然后仅将引用这些外部类的脚本附加到Game Objects上吗?我确信你们中的一些人可能会说“做任何你想做的!”或“做有效果的事情”,但我不想从不良的编码方法开始,最终在以后进行重构。
另一件让我困惑的事情是Unity中的类实例。出于某种原因,似乎我可以使用内置的类(如Animator)而无需对其进行实例化[我几乎从未看到a = new Class();],但这些类并不是静态的。这是如何工作的呢?如果我构建自己的类,并且这些类被我的游戏对象引用,那么我是否必须创建实例才能使用它们,或者引擎在幕后自动处理所有这些内容?
那么,在所有这些脚本编写中,游戏对象(在编辑器中的实际项目)在哪里?是否为每个Game Object都创建了一个类?如果是这样,我该如何找到它并查看其中发生的情况?