开发环境:
cocos2dx 3.5 vs2012
问题描述:
现在需要创建大量的精灵(1000个以上),而且需要给他们设置物理Body,创建出来后,帧率很低,界面卡顿。
请问当创建大量的精灵对象时,怎么能提高程序效率,使程序运行流畅?
开发环境:
cocos2dx 3.5 vs2012
问题描述:
现在需要创建大量的精灵(1000个以上),而且需要给他们设置物理Body,创建出来后,帧率很低,界面卡顿。
请问当创建大量的精灵对象时,怎么能提高程序效率,使程序运行流畅?
这个基本没辙,建议不要搞那么多物理效果,你是要做物理游戏,还是普通2d游戏?2d游戏如果是简单碰撞,完全不需要开启物理。
多谢回复。
我是做普通2d游戏,通过碰撞检测精灵是否相交区域,不用物理的话,是不是只有循环遍历所有精灵,判断它们之间是否有相交的区域,来判定它们是否“碰撞”了?
分帧加载,使用进度条,有个加载过程
我的做法很简单,如果是单位和单位碰撞,给单位设定个大小,比如我的就是20*20,直接检测2单位是否碰撞。
先循环所有舞台单位(舞台就是屏幕范围内),如果2单位距离小于一定距离,比如我设置是100,才进行碰撞检测,然后坐标补偿,这样效果就是,行动的精灵会把发呆的推着动。
障碍物碰撞就用另一套方案。
反正我的是rpg游戏,我是这样做的。
多谢各位的指导,我去优化一下