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

标签 java 2d collision

我真的雄心勃勃,正在开发一款 2D 射击游戏,希望它能有数百个实体跑来跑去。

让我绞尽脑汁的是,子弹在与物体发生碰撞时如何检测,而不是检查 map 上的每个物体。原因是我觉得如果我在屏幕上有四打子弹,每个循环都检查与 map 上每个实体的碰撞,我会看到一些相当显着的性能损失。

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

当我有两个对象时,我可以处理碰撞算法,但我似乎无法找到一种方法让这两个对象在不先检查其他对象的情况下相互看到。

我在 Java 和 OpenGL 中使用(即将进行纹理处理)QUADS。

最佳答案

你应该调查quadtrees ;它们通常用于高效的 2D 查找。

关于java - 如何在不检查每个对象的情况下检查 2D 碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392335/

相关文章:

javascript - Canvas 弧线像素完美碰撞

java - 如何在不使用 addSnapshotListener 的情况下检索文档大小?

java - 递归调用方法期间 Hibernate session 关闭异常

Android 2D 游戏,图形的最佳选择?

math - 如何计算两条线之间的正负角?

c++ - 如何检测像素图边缘透明的两个 QGraphicsPixmapItem 之间的碰撞?

java - 如何指定Spring表单中默认选择哪个值:select

java - Gradle 传递依赖解析

Java - 图片直到循环结束才显示?

swift - xcode中的三体碰撞检测问题