之前在重构《剑魂之刃》项目中,短暂的用过几个月cocos2d-x 3.1版本,遇到不少问题,由于研发自研引擎的习惯,对待问题基本上使用暴力改底层的方式来解决。
1. 内存泄露
由于auto release机制,出现引擎本身内存泄露时,无法使用重载new或vld工具定位。
解决办法:改回new/delete对机制,使用vld排查
2.手机上字体发虚(3.x版本)
这个是3.x版本的新BUG,2.x没有
解决办法:修改GUI控件,默认使用外挂字库
3.编辑器选择
cocostudio1.x版本在工程较大的时候,会非常卡
解决办法:使用上古时代的cocosbuilder,并修改cocosbuilder源码,添加常用和自定义控件支持
4.代码架构问题
cocosbuilder文件以Node树结构方式载入,顶层是Layer,使用不当会造成架构的混乱
解决办法:lua层添加一个UIWindow类,代表每一个UI文件;对编辑器使用人员规范,不可使用多层级结构,复用部分需单独新建UI文件。
5.富文本控件
cocos2dx的文本控件代码多但功能太少,我们自己写了一个富文本控件,支持格式化支付串变色等功能。
6. TableView控件
tableview控件使用非常不方便,需要写datasource等较多代码
解决办法:修改tableview源码,添加i