Java libGDX冲突由于某些原因而延迟

Java libGDX冲突由于某些原因而延迟,java,android,libgdx,Java,Android,Libgdx,我有一个物体从屏幕的一侧滚动到另一侧,当离开屏幕的边界时,它会移动到起点并重复这个过程。现在,每次对象到达屏幕中央时,它都会与一个矩形碰撞,并向计数器添加一个点 以下是冲突代码: if (Intersector.overlaps(ball.getBoundingCircle(), myWorld.getRec())) GameWorld.addScore(1); 问题是,在第一次对象与矩形碰撞时,点被添加,第二次没有,第三次是,第四次没有,以及在它正常工作后的任何其他时间。 有人能告诉我第二次

我有一个物体从屏幕的一侧滚动到另一侧,当离开屏幕的边界时,它会移动到起点并重复这个过程。现在,每次对象到达屏幕中央时,它都会与一个矩形碰撞,并向计数器添加一个点

以下是冲突代码:

if (Intersector.overlaps(ball.getBoundingCircle(), myWorld.getRec())) GameWorld.addScore(1);
问题是,在第一次对象与矩形碰撞时,点被添加,第二次没有,第三次是,第四次没有,以及在它正常工作后的任何其他时间。 有人能告诉我第二次和第四次不添加该点有什么问题吗

编辑:这是我在下面的评论中提到的所有四个球对象的完整碰撞代码:

if (Intersector.overlaps(ball.getBoundingCircle(), myWorld.getRec())){ GameWorld.addScore(1);System.out.println("ball.");}
if (Intersector.overlaps(ball2.getBoundingCircle(), myWorld.getRec())){ GameWorld.addScore(1);System.out.println("ball2.");}
if (Intersector.overlaps(ball3.getBoundingCircle(), myWorld.getRec())){ GameWorld.addScore(1);System.out.println("ball3.");}
if (Intersector.overlaps(ball4.getBoundingCircle(), myWorld.getRec())){ GameWorld.addScore(1);System.out.println("ball4.");}

通过增加矩形的宽度和圆的半径来解决这个问题。

使用您输入的代码,我唯一能想到的就是尝试使用1以内的圆木,看看您思考时它是否发生碰撞。如果是这样,请查看addScoreOK的代码,我需要更精确。我使用在屏幕上运行的ball对象的变量,当每个对象击中矩形时,它会添加一个点,当每个对象离开屏幕边界时,它会移动到其开始位置。当我使用日志运行代码时,第二和第四个对象没有在第一和第二轮传球对象(球)上添加点,但从第三轮开始,它们开始添加点,日志显示正确。第一轮和第二轮是问题所在……我想,你可以粘贴代码GameWorld.addScore()我刚刚为所有四个球添加了完整的碰撞代码。我用日志再次检查了代码,似乎有时球在碰撞后加1,有时不加1。第二个和第四个球最容易发生这种情况,但是如果比赛持续很长时间,第一个和第三个球也会发生这种情况\