• 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 交流。
  • 相关阅读:
    mysql远程执行sql脚本
    数据库死锁
    sqlserver 数据库之调优
    sqlserver 数据库之性能优化
    Session共享的解决办法
    关于对session机制的理解--通俗易懂
    kafka之常用命令
    分布式消息队列之kafka
    vuejs调试代码
    json
  • 原文地址:https://www.cnblogs.com/liangxiegame/p/11449103.html
Copyright © 2020-2023  润新知