本文主要是介绍QFramework 使用指南 2020 (四):脚本生成(2)ViewController 与 ViewController 嵌套绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在上一篇,我们学习了,脚本生成的基本使用。
在这一篇,我们试着深入,聊聊脚本生成给我们带来的便利。
脚本生成的便利
首先,我们要知道,在 Unity 的游戏世界中都是以 GameObject 为单位的,而 GameObject 是可以设置子 GameObject 的。所以,一般我们看到的 GameObject 都是呈树结构的。
而树结构,是一个比较好管理的结构,有层次的同时又有单向依赖关系。
在上一篇说到,在父节点获取子节点的对象,我们一般用 GameObject.Find 或 tranform.Find 实现。那么在开发一个 Unity 项目的过程中,这种操作会出现非常多次。
因为游戏对象之间要进行交互,而要交互则就要访问对象。
而 QF 的脚本生成简化了访问对象的操作,同时它可以规范我们,所有的控制脚本所在的 GameObject 都呈现一个树形结构。使得一个项目中的结构,变成如下图所示:
这就是脚本生成存在的意义,简化了操作、提供了规范。
ViewController 与 Bind
在上一篇,我们操作的过程中,接触了 ViewController 和 Bind。
ViewController 是 脚本生成的一个”容器“,而 Bind 则是一个节点,一个 ViewController 可以绑定多个 Bind。
ViewController 可以绑定多个 Bind 之外,还可以绑定 ViewController,不过要绑定的 ViewController 必须是其子节点。
也就说 ViewController 支持嵌套绑定。
ViewController 与 ViewController 的嵌套绑定
让 ViewController 成为另一个 ViewController 的子节点非常简单,只需要在子节点挂上 ViewController 的同时,再挂上一个 Bind。
如下图所示:
然后,先生成子节点的 ViewController 代码,再生成 父节点的 ViewController 代码即可。
结果如下所示:
这样,嵌套绑定就实现了。
当前的组件结构如下:
- GameRoot(ViewController)
- Player1(ViewController)
- PlayerAnimation(Bind)
- Player1(ViewController)
嵌套绑定的实现非常简单,不过这里要提醒大家,在一般情况下,笔者很少在项目中使用嵌套绑定,一般只使用简单的 ViewController 和 Bind 就可以满足大部分需求了。
此篇内容就这些。
- 转载请注明地址:凉鞋的笔记:liangxiegame.com。
- 任何问题欢迎到 QQ 群:623597263 交流。
这篇关于QFramework 使用指南 2020 (四):脚本生成(2)ViewController 与 ViewController 嵌套绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!