我已经给出了我当前需要帮助的小问题的图表。我的主要目的是防止该点超出圈子。没有其他的。
圆的中心位于 (x, y)。
我只解决了一点问题,这就是我的问题的碰撞检测部分,如下所示:
public void bound(Point p, Circle c){
double distance = Math.hypot(p.x - c.x, p.y - c.y);
if (distance >= c.radius){
//Clueless from here on out.
}
}
我留下评论的部分是我无法弄清楚的地方。我确实尝试将点的velocityX
和设置velocityY
为 0,但我意识到只要它触及圆,该点就会保持原样。
所以,我有点卡住了。