java - 如何通过按键更改对象的坐标?
问题描述
我必须为功课创建一个小型 2D Java 瓷砖游戏,我想知道如何通过按下按钮来移动对象。
更具体地说,我在矩阵中有一个带有“ 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
{
}
}