【发布时间】:2017-06-14 09:28:38
【问题描述】:
MonoBehaviour 扩展了 Behavior 和 Behavior 扩展了 Component。 我想知道为什么这些类是分开的以及这些类的语义。 分离这些类有什么目的吗?有没有直接扩展 Behavior 或 Component 的类?
我知道我们必须使用 MonoBehaviour 在 Unity 中创建 C# 代码。 不过,我对 Unity 作为游戏引擎的架构很感兴趣。
【问题讨论】:
-
如果您不编写
Started 和Updated 的代码,则无需继承MonoBehaviour -
@DmitryPavlushin 嘿,这很有趣,如果我们不需要
Start或Update,我们可以从 Behavior 或 Component 继承吗?我个人尽量避免使用这些(如果可能,我更喜欢事件驱动的代码),所以如果我们可以继承这些,那会是更好的做法吗? -
@DmitryPavlushin 听起来像是一个答案。
-
举个例子,您可能有一个预制件,例如包含有关 MB 脚本上预制件的数据。通过预制创建新实例时,您可以访问这些数据并在其上运行一些方法。您可以通过 GetComponent 访问脚本。经常在游戏中你需要访问这些数据,因为假设你的物品是一个会破坏其他物品的弹丸。该脚本可能没有任何开始或更新。因此,第一条评论是错误的。
标签: c# unity3d architecture