目的
通过解析prefab格式,生成对应的代码,获取对应的子节点,避免重复性的工作,提升效率的同时还预防节点名称用错而导致出错的问题。
基本思路
- 在UI开发过程中,是需要通过接口去获得UI 中的控件的。node.getChildByName,这个接口就是遍历当前节点下的子节点,通过名字的对比获得对应的控件,然后返回。
- 这个获取节点的过程,其实是一件重复性很高的事情。需要被用到的控件,都是需要被获得。而那些有多层结构的UI,比如想要获得到子节点的子节点的子节点。那需要调用上面那个接口三次,而这个过程需要写获取接口,复制控件名,黏贴控件名。麻烦,而且是重复性的工作。
- 这个其实可以通过一个嵌套循环来找出对应的子控件。这并非高效的做法。虽然,最终提升的效率比较小,但还是要做一下。毕竟这是一个充满着重复工作量的事情。程序猿,不偷点懒,怎么叫程序猿呢,哈哈哈哈。
- 不过最终目的还是提升工作效率的。
线索&结论
prefab本身是一个Json串。一个子项相当于一个节点信息,cocosCreator 通过这些Json保留节点信息。
然后,经过推理验证,证明里面的无论是 children 还是 compoment 字段里id,都是对应着Json的 ID 的。
推理小计:
遍历整个Json的方式,是可以通过信息映射来避免的。朝着高效的解析JSON留下来的信息的方向,那应该是没错的。
下节预告
知道了prefab(scene同理)的保留格式之后,那就可以通过这些预留的信息,给我们一些操作空间了。
本文探讨了在UI开发中如何利用预制件(prefab)格式解析来提高获取子节点的效率,减少重复工作,并介绍了通过定制代码生成工具来避免节点命名错误的方法。
2434

被折叠的 条评论
为什么被折叠?



