1

当需要显示许多对象并计算位置、碰撞检测、反应等并且我希望一切看起来顺利时,我可以做什么?这是我正在开发的一个例子。我希望如果屏幕上有 100 个球,我可以流畅地显示它们。但我不知道该怎么做。每一个建议都将不胜感激。

4

2 回答 2

1

我看到你正在使用 box2d——一个优秀而成熟的物理库。好的选择!

Box2d 已经进行了相当好的优化......并且很多眼球已经查看了代码以寻找进一步的优化。

因此(如果您的设计需要允许),您的改进途径是用更简单的碰撞函数替换这个大型库。

查看这组视频教程。忽略它针对 processingJS 的事实,它仍然提供了关于游戏物理和处理碰撞的很好的教程。如果您已经精通物理基础知识,请跳至第二个链接:

教程“家”: http ://channel9.msdn.com/Series/Sketchbooktutorial

圆形物体碰撞教程章节:http: //channel9.msdn.com/Series/Sketchbooktutorial/Simple-Collision-Detection-and-Response

于 2013-05-02T16:05:54.980 回答
1

在这个 HTML5 Rock 的Canvas 性能教程中可以看到提高画布性能的基本步骤。

而且,如果您可以在没有 Box2D 的情况下自由处理碰撞检测,请检查此四叉树实现。四叉树不直接处理冲突,但可以通过减少检测冲突所需的比较量来提高性能。

文章延伸阅读建议:

使用空间分区的广泛相位碰撞检测

碰撞检测和响应

使用 Box2dWeb 制作游戏

于 2013-05-03T04:27:40.393 回答