关于cocosCreator(v1.9)生成prefab格式解读

目的

通过解析prefab格式,生成对应的代码,获取对应的子节点,避免重复性的工作,提升效率的同时还预防节点名称用错而导致出错的问题。

基本思路

  • 在UI开发过程中,是需要通过接口去获得UI 中的控件的。node.getChildByName,这个接口就是遍历当前节点下的子节点,通过名字的对比获得对应的控件,然后返回。
  • 这个获取节点的过程,其实是一件重复性很高的事情。需要被用到的控件,都是需要被获得。而那些有多层结构的UI,比如想要获得到子节点的子节点的子节点。那需要调用上面那个接口三次,而这个过程需要写获取接口,复制控件名,黏贴控件名。麻烦,而且是重复性的工作。
  • 这个其实可以通过一个嵌套循环来找出对应的子控件。这并非高效的做法。虽然,最终提升的效率比较小,但还是要做一下。毕竟这是一个充满着重复工作量的事情。程序猿,不偷点懒,怎么叫程序猿呢,哈哈哈哈。
  • 不过最终目的还是提升工作效率的。

线索&结论

prefab本身是一个Json串。一个子项相当于一个节点信息,cocosCreator 通过这些Json保留节点信息。
然后,经过推理验证,证明里面的无论是 children 还是 compoment 字段里id,都是对应着Json的 ID 的。

推理小计:

遍历整个Json的方式,是可以通过信息映射来避免的。朝着高效的解析JSON留下来的信息的方向,那应该是没错的。

下节预告

知道了prefab(scene同理)的保留格式之后,那就可以通过这些预留的信息,给我们一些操作空间了。

你可能感兴趣的:(cocosCreator)