如何在不检查每个对象的情况下检查2D碰撞

A N*_*Yet 8 java 2d collision

我真的很野心勃勃,正在开发一款2D Shoot'em Up游戏,希望有数百个实体可以运行.

我在缠绕我的大脑时遇到的问题是子弹在与物体发生碰撞时会检测到的情况,而不会检查地图上的每个物体.原因是我觉得如果我在屏幕上有四十个子弹,每个子弹检查地图上每个实体的碰撞,每个周期,我都会看到一些相当显着的性能损失.

那么在不检查每个实体的情况下检测碰撞的最佳方法是什么?

当我有两个对象时,我可以处理碰撞算法,我似乎无法找到一种方法让这两个对象看到对方而不先检查其他人.

我正在使用Java和OpenGL(很快就会被纹理化)QUADS.

Oli*_*rth 8

你应该调查四叉树 ; 它们通常用于高效的2D查找.