检测碰撞并在物体周围走动

时间:2010-02-22 08:15:25

标签: java android

我正在为Android手机编写程序(使用Java作为编程语言)

我正在编写一个需要对象的游戏 - 移动 - 其他对象。例如:如果一个物体从A点移动到B点,并且路上还有另一个游戏物体,那么它就会在它周围移动。

我还需要检测与对象的碰撞,例如,如果一个对象碰到另一个对象。

这些东西有什么好的资源吗?

2 个答案:

答案 0 :(得分:1)

对于碰撞检测,您可以根据具体需要考虑以下几点:

  • 最简单的是边界框碰撞。每个对象都有一个不可见的边界框,用于检查它是否与敌人的框相交。
  • 如果需要,您可以使用边界框的集合来定义对象的碰撞区域。
  • 除了边界框,您还可以使用圆形或椭圆形
  • 如果你有加载和加载的对象,你需要某种分区方案。如果您要测试对象A与所有其他对象发生碰撞,则可能只需要太长时间。最简单的方法是在网格中分割场景,并在每个单元格中仅检查离开此单元格(以及可能是相邻单元格)的其他对象的碰撞。您可能会看到更高级的分区方法是四叉树。
  • 不要使用像素完美碰撞方法。虽然听起来很酷,但它们几乎没用。这是因为很可能您的对象将设置动画,并且您不希望每个动画帧都具有不同的碰撞特征。

答案 1 :(得分:0)

我研究过这段时间已经很久了,但pathfinding with potential fields可能会有用。