【发布时间】:2014-10-07 08:14:36
【问题描述】:
我正在使用 Cocos2d 编写一个 iOS 游戏。一个屏幕中有很多球(大约 7000 个对象)。
触摸屏幕时,该区域内的小球应该会爆炸,周围的小球应该被填满。
我为它们中的每一个创建了一个 box2d 对象并将其添加到物理世界中。
问题如下。
- 最初,当没有触摸事件时,屏幕被 7000 个球填满,如果我们启动物理,它们会相互重叠,屏幕顶部会出现间隙。
- 触摸屏幕时,游戏运行非常缓慢。
如何才能让游戏流畅?
【问题讨论】:
-
7,000 个球。每个球都接触其他 6 个球。那是 42,000 个接触点。每个都有自己的力量,动量等......来计算。以 60FPS(你应该是)运行,你有 16 毫秒的时间来完成每一帧的所有事情。完成其他工作(绘图等)后,它可能会为您提供 4 或 5 毫秒的物理时间。这是每个接触点 95 纳秒。不管你做什么都不会发生。
标签: ios cocos2d-iphone collision-detection game-physics box2d-iphone