根据用户输入移动播放器

Moving Player depending on user input

我想让播放器(实际上只是一个图像)在 2D "game" 中移动位置,具体取决于用户按下屏幕的位置 (Android)。

这是我的代码:

   public void updateState(float delta) {
        if(Gdx.input.isButtonPressed(Buttons.LEFT)){
             if(Gdx.input.getX()>player.getX()+5) {
                  player.setX(player.getX()+5);
             }else if (Gdx.input.getX()<player.getX()-5){
                  player.setX(player.getX()-5);
             }
             if(Gdx.input.getY()>player.getY()+5){
                  player.setY(player.getY() + 5);
             }else if(Gdx.input.getY()<player.getY()-5){
                  player.setY(player.getY()-5);
             }
             return;
        }
   }

有时,当我按下右边的部分时,它会向右移动(如预期的那样),其他时候它会向左移动(不知道为什么)。其他方向也是如此。

我的代码有什么问题?

提前致谢。

编辑: 在有人告诉我这个之前,是的,我知道我应该使用 delta(自上次渲染以来经过的时间)来计算运动,当我想到这个时我会的出去。 :)

删除那个return。什么也不做:

public void updateState(float delta) {
    if(Gdx.input.isButtonPressed(Buttons.LEFT)){

        if(Gdx.input.getX()>player.getX()) {
            player.setX(player.getX()+5);
        }else if (Gdx.input.getX()<player.getX()){
            player.setX(player.getX()-5);
        }
        if(Gdx.graphics.getHeight()-Gdx.input.getY()>player.getY()){
            player.setY(player.getY() + 5);
        }else if(Gdx.graphics.getHeight()-Gdx.input.getY()<player.getY()){
            player.setY(player.getY()-5);
        }
    }
}