QFramework 使用指南 2020 (四):脚本生成(2)ViewController 与 ViewController 嵌套绑定

在上一篇,我们学习了,脚本生成的基本使用。

在这一篇,我们试着深入,聊聊脚本生成给我们带来的便利。

脚本生成的便利

首先,我们要知道,在 Unity 的游戏世界中都是以 GameObject 为单位的,而 GameObject 是可以设置子 GameObject 的。所以,一般我们看到的 GameObject 都是呈树结构的。

而树结构,是一个比较好管理的结构,有层次的同时又有单向依赖关系。

在上一篇说到,在父节点获取子节点的对象,我们一般用 GameObject.Find 或 tranform.Find 实现。那么在开发一个 Unity 项目的过程中,这种操作会出现非常多次。

因为游戏对象之间要进行交互,而要交互则就要访问对象。

而 QF 的脚本生成简化了访问对象的操作,同时它可以规范我们,所有的控制脚本所在的 GameObject 都呈现一个树形结构。使得一个项目中的结构,变成如下图所示:
image.png

这就是脚本生成存在的意义,简化了操作、提供了规范。

ViewController 与 Bind

在上一篇,我们操作的过程中,接触了 ViewController 和 Bind。

ViewController 是 脚本生成的一个”容器“,而 Bind 则是一个节点,一个 ViewController 可以绑定多个 Bind。

ViewController 可以绑定多个 Bind 之外,还可以绑定 ViewController,不过要绑定的 ViewController 必须是其子节点。

也就说 ViewController 支持嵌套绑定。

ViewController 与 ViewController 的嵌套绑定

让 ViewController 成为另一个 ViewController 的子节点非常简单,只需要在子节点挂上 ViewController 的同时,再挂上一个 Bind。

如下图所示:
image.png

然后,先生成子节点的 ViewController 代码,再生成 父节点的 ViewController 代码即可。

结果如下所示:
image.png

这样,嵌套绑定就实现了。

当前的组件结构如下:

  • GameRoot(ViewController)
    • Player1(ViewController)
      • PlayerAnimation(Bind)

嵌套绑定的实现非常简单,不过这里要提醒大家,在一般情况下,笔者很少在项目中使用嵌套绑定,一般只使用简单的 ViewController 和 Bind 就可以满足大部分需求了。

此篇内容就这些。

  • 转载请注明地址:凉鞋的笔记:liangxiegame.com。
  • 任何问题欢迎到 QQ 群:623597263 交流。
posted @ 2019-09-02 21:17  凉鞋的笔记  阅读(496)  评论(0编辑  收藏  举报