在我的一个项目中,我有一个圆形的游戏区。在这个圆圈内,另一个小圆圈在移动。我要做的是防止小圆圈移到大圆圈之外。在下面可以看到,在第2帧中,小圆圈部分在外面,我需要一种方法将其移回即将要移到外面的位置。如何才能做到这一点?
另外,我需要沿着大圆弧的碰撞点,以便可以更新小圆的速度。如何计算这一点?
我想做的是在移动小圆圈之前,先预测它的下一个位置,如果它在外面,我会发现t = 0和t = 1之间的碰撞时间(t = 1全时间步长)。如果我有碰撞时间t,那么我只是在t内移动小圆圈,而不是整个时间步长。但是,问题又来了,当我碰到两个圆圈,一个圆圈在另一个圆圈内时,我不知道该如何检测碰撞发生。
编辑:
我想找到碰撞点示例(绿色)。也许图片有点不对劲,但您明白了。