我有一个物体从屏幕的一侧滚动到另一侧,当离开屏幕边框时,它移动到起点并重复该过程。现在,每当物体到达屏幕中间时,它就会与一个矩形相撞并向计数器添加一个点。
这是碰撞代码:
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.");}
答案 0 :(得分:0)
通过增加矩形的宽度和圆的半径来解决它。