Unity,我应该附加什么对象我的游戏引擎脚本

时间:2016-10-04 07:20:56

标签: unity3d unity5

我和我的朋友正在构建一个简单的闲置游戏,作为我们团结的第一个项目。 我们达到了构建处理所有计算的脚本的程度,并与玩家看到的每个GameObject进行通信。

现在,我们应该附加这个脚本?

我们宁愿不使用GameObject,因为:

1)GameObject将是一种矫枉过正的

2)GameObject位于我所有"物理"对象存在(这将是无用的,因为脚本没有"存在于某处")

首次在stackoverflow中发帖,如果我犯了任何错误请告诉我^^

2 个答案:

答案 0 :(得分:6)

“公约”说要把它放在主摄像机上或空d = dict(zip(from_filenames, to_filenames))

如果你真的不想做其中任何一个,你可以让你的课静止。

如果您的班级继承自GameObject,则必须将其附加到MonoBehaviour。如果您想将其附加到GameObject,则必须从GameObject继承。

如果您想更好地理解Unity方式,我建议您阅读实体组件系统:

MonoBehaviour是实体

GameObject是组件

服务和管理人员通常在Unity中实现为组件,然后连接到主摄像头或清空以它们命名的MonoBehaviour

答案 1 :(得分:2)

你可以创建一个通常的单例类," Game Initializer" monobehaviour,它将初始化你所有的单身经理,面料等...

只需将这个monobehaviour添加到空游戏对象中的每个场景,并使用以下代码:

if(GameManager.instance == null)
   gameManager.init()

或者在scriptableObjects的情况下,

UIProvider

另外,一个好的决定是使用实体系统模式,这里是统一的框架(Unity-Ash,Entitas等)