最近做一个飞机射击类的小游戏
飞机射击的子弹,我是通过脚本新建Sprite节点,然后调整坐标进行飞行的,子弹飞出当前屏幕后,会销毁该节点
现在当子弹射击比较多的时候,会明显的掉帧,不流畅,子弹数量也不算太多,同时飞行不超过100个
想知道这是哪个地方的瓶颈造成的呢,或者有什么技巧可以优化!
用对象池呢?
用对象池管理子弹。update里一定要用dt来算坐标,cocos的帧频非常不稳定
好滴,试试对象池,文档没看到这里
对象池也会造成删除节点,导致node重排序(node树结构复杂度越高,排序越耗时),也会造成卡顿,尤其是子弹多,子弹发射和移除过快。建议手写对象池,游戏过程中对象不要删除,不要active=ture/false ,需要移除的node,坐标设置出屏幕外,发射时坐标再重置到发射点
我也发现了···对象池不能说没用,但我项目用的对象池,会有微小的卡顿···
最终还是自己写的·····