Java 如何通过按键更改对象的坐标?

Java 如何通过按键更改对象的坐标?,java,lwjgl,slick2d,Java,Lwjgl,Slick2d,我必须为学校作业创建一个小型2D Java tile游戏,我想知道如何通过按下按钮来移动对象 更具体地说,我有一个矩阵中有“I”和“j”坐标的项。按键盘上的ENTER键后,我希望项目向下移动1个位置(I+1)。如果我反复按ENTER键,对象将相应地向下移动。好像游戏是1帧/秒。我该怎么做?我对Java语言有点陌生,在网上找不到答案 (为了使用GUI制作游戏,我遵循了一些教程,并使用了Slick2D库。)您希望实现“更新”方法,并根据按下的键从容器中读取输入。有一篇非常好的文章将帮助你继续你的游戏

我必须为学校作业创建一个小型2D Java tile游戏,我想知道如何通过按下按钮来移动对象

更具体地说,我有一个矩阵中有“I”和“j”坐标的项。按键盘上的ENTER键后,我希望项目向下移动1个位置(I+1)。如果我反复按ENTER键,对象将相应地向下移动。好像游戏是1帧/秒。我该怎么做?我对Java语言有点陌生,在网上找不到答案


(为了使用GUI制作游戏,我遵循了一些教程,并使用了Slick2D库。)

您希望实现“更新”方法,并根据按下的键从容器中读取输入。有一篇非常好的文章将帮助你继续你的游戏,我认为这就是你试图实现的。以下是来自上述链接的示例代码:

public class MyGame extends BasicGame
{
    public MyGame()
    {
        super("My game");
    }
 
    public static void main(String[] arguments)
    {
        try
        {
            AppGameContainer app = new AppGameContainer(new MyGame());
            app.setDisplayMode(500, 400, false);
            app.start();
        }
        catch (SlickException e)
        {
            e.printStackTrace();
        }
    }
 
    @Override
    public void init(GameContainer container) throws SlickException
    {
    }
 
    @Override
    public void update(GameContainer container, int delta) throws SlickException
    {
        // You need to implement this function
        Input input = container.getInput();
        if (input.isKeyDown(Input.KEY_ENTER))
        {
             // ... your code here ...
        }
    }
 
    public void render(GameContainer container, Graphics g) throws SlickException
    {
    }
}

您可以使用键绑定或键侦听器来执行此操作,然后简单地让键操作编辑阵列中项目的
i
j
坐标:论坛上有很多关于此的信息,只需多做一些研究。当您提供一些不起作用的代码时,我们可以帮助您。目前,你有多个问题在一个你可以展示任何你描述的例子,或请编辑你的问题,包括关键信息或文章的概念。随着时间的推移,外部链接往往会中断,答案可能会变得毫无帮助。谢谢。那篇文章帮助了我:)更新了我的答案@ChimiChumi如果这有帮助,您可以将其标记为已接受的答案。谢谢。是的,对不起,我是新来的,找不到可以将我的问题标记为已解决的地方。