如果我想每秒移动一个对象 40 像素,并且我有以下情况,我如何有效地检测到发生了碰撞?
假设两个对象都是 10 x 10 的正方形
2秒处移动物体的起点:
票价:40、100
3秒处移动物体的终点:
票价:80、100 元
停滞物体在 60、100
如果我只移动移动物体一次(从 40 移动到 80,中间没有任何移动),我怎么知道它们之间有一个物体?
这显然是我正在做的事情的简化版本,但我希望它易于理解。
我唯一能想到的是检查每个对象是否有一条 x 值小于 80 的边和另一条边的 x 值大于 40 以及 y 值的相同想法......
我将使用javascript和html5画布,如果这有什么不同的话。
您可以尝试确定是否与由移动对象的开始和结束位置定义的边界矩形发生冲突:
+-----------+--+
| +==+ | |
+-----: :--+--+
+==+
听起来你想要这样的东西,它已经写好了,可以处理各种形状:
http://code.google.com/p/box2dweb/