1

我正在设计一个弓箭手游戏。当箭头击中目标时,它停止移动。我想要完成的是定义一个公式来预测/获取目标和箭头在视图上相遇的位置。

当箭头的速度随初始速度变化并且箭头也有角度时,就会出现问题。另外,屏幕上的图像按x - bitmapt.getWidth/2(高度相同,h/2..)放置

如果箭头移动得太快,那么我需要计算一个错误,以便箭头不会错过目标,即使它们应该与我们所拥有的 x 和 y 相同,箭头也会像X + speed像素一样移动。所以我来到了这样的事情!

if(arrow[i].getX() + v0x[i] / 2 >= target.getTarget().getX() && arrow[i].getX() <= target.getTarget().getX() + v0x[i] / 2)

我使用 x/2 的速度来指定误差范围。

arrowX + velocity/2 >= collision point >= targetX + velocity/2

但是,它不起作用。

4

1 回答 1

1

这是一个纯粹的数学问题,关于碰撞检测有很多文献。我建议你使用图书馆。对于 2D,我推荐JBox2D。它是一个物理引擎(例如在愤怒的小鸟中使用)。你会得到碰撞检测等等:)

于 2012-11-17T23:00:08.683 回答