添加一个孩子(引擎统一)

Adding a child (engine Unity like)

本文关键字:引擎 孩子 一个 添加      更新时间:2023-10-16

(对于自定义引擎)只是一个简单的问题,我想知道是否有这样的优势添加孩子:

`myNode.transform.parent = newParent` // unity like

而不是这样:

`myNode.transform.AddChild(newChild)`

或只是偏爱问题。

在我的角度上,我觉得很奇怪的是,一个二传手会做背景工作,例如从以前的父母儿童Stoneiner中删除自己。

谢谢!

他们可能正在使用C 后端中的AddChild方法进行加法。Unity的核心引擎用C 编写,C#只是它们使用的脚本层。Unity将其后端方法记录到前端方法和属性。当有人使用该属性或方法时,将调用后端实现。对于Unity的所有内容而言,情况并非如此,Unity的UI主要是C#,并且它是开源的,以防万一您很好奇:https://bitbucket.org/unity-technologies/ui/overview。

这是一篇文章,可以清除某些方面最好的选择,尽管实际上,这通常取决于偏爱:https://msdn.microsoft.com/en-us/library/ms229054(v = vs.100).aspx

通常:方法代表一个动作,属性代表数据。

另一个用户问了一个类似的问题:属性与方法

如果我的答案没有清除,请达到顶峰。

另外,如果您对Unity如何称呼其后端方法感到好奇,则可以清除它:https://github.com/mono/mono/mono/tree/master/master/samples/samples/embed

希望这会有所帮助。

另一个答案真的很好,但我只想添加一些解释,说明为什么您会使用addChild(...).parent = ...

它基本上取决于您的构建方式,如果您执行父实例,那么当它绘制其位置时,它可以获取其父,然后将其相对于该父。

好像您在哪里进行了addChild(...)系统,父母必须告诉孩子的位置在哪里(或者您必须与父母有链接)以绘制相对的绘制。

那只是一个原因,我敢肯定有很多,但是大部分是偏爱。