Java 正在尝试实现两个精灵之间的碰撞检测-libGDX

Java 正在尝试实现两个精灵之间的碰撞检测-libGDX,java,android,libgdx,collision,detection,Java,Android,Libgdx,Collision,Detection,关于当前游戏的一些背景:玩家总是从左向右移动,如果屏幕被点击,他会跳,如果屏幕被拖动,他会向前冲。我添加了一个平铺平台对象,现在试图让我的玩家在碰到它时停止移动 播放器从屏幕的左下角开始,平台在右上角。发生的情况是,玩家在到达屏幕中间时停止,而不是到达实际的平台。有人能看看我的代码,看看他们是否能找出原因吗?非常感谢 public class Platform extends GameObject { private Rectangle playerRect; private

关于当前游戏的一些背景:玩家总是从左向右移动,如果屏幕被点击,他会跳,如果屏幕被拖动,他会向前冲。我添加了一个平铺平台对象,现在试图让我的玩家在碰到它时停止移动

播放器从屏幕的左下角开始,平台在右上角。发生的情况是,玩家在到达屏幕中间时停止,而不是到达实际的平台。有人能看看我的代码,看看他们是否能找出原因吗?非常感谢

public class Platform extends GameObject 
{
    private Rectangle playerRect;
    private Rectangle platformRect;
    private Player player;
    private boolean isOverlapping;

    public Platform(Sprite spr) 
    {
        super(spr);
        player = Player.getInstance(null); // Initialises the Player class (a Singleton)

        // Set position of sprite
        setxPos(getWidth() - 400);
        setyPos(getHeight() / 2 - 100);
        spr.setX(getxPos()); 
        spr.setY(getyPos());         
    }

    public void update() 
    {
        // Rectangle of Player
        playerRect = new Rectangle(player.getxPos(), player.getyPos(), player
            .getSprite().getWidth() + player.getxPos(), player.getSprite()
            .getHeight() + player.getyPos());

        // Rectangle of Platform
        platformRect = new Rectangle(getxPos(), getyPos(), getSprite().getWidth()
            + getxPos(), getSprite().getHeight() + getxPos());

        // Make Player stop moving if the two rectangles collide
        isOverlapping = playerRect.overlaps(platformRect);

        if (isOverlapping) 
        {
            player.setxSpeed(0);            
        }
    }
}
已经在这上面停留了一段时间,提前感谢您的任何输入

可能的重复