gpt4 book ai didi

Java2D 游戏 : How to handle keyboard correctly?

转载 作者:行者123 更新时间:2023-12-04 05:47:41 32 4
gpt4 key购买 nike

我找到了一个 very good tutorial关于如何使用 Java2D 创建游戏。在本教程中有一个名为“移动 Sprite ”的部分,展示了如何在屏幕上移动一个小航天器图像。我正在玩这个工艺,并意识到它有时会在屏幕上“阻塞”。经过一些测试和思考问题,我发现发生了阻塞问题,因为当您使用键盘的箭头时,例如有时您同时按下左和右,这会阻止移动。

所以我的问题是:我如何处理这种键盘事件——当你按下左按钮时,继续按下它,然后按下右按钮——这样角色移动就不会被阻止?

我认为这种情况很常见,因为当您演奏时,您会从左向右切换,但有那么一瞬间,您同时按下了左键和右键。

最佳答案

您可以通过多种方式执行此操作。一种方法是在程序中使用 boolean 值。

当您按下某个键时,您可以将 boolean 值设置为 true,当您释放它们时,您可以将它们设置为 false。 IE:

int x,xSpeed;

boolean movingLeft = false;
boolean movingRight = false;

public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT){
movingLeft = true;
}
if(key == KeyEvent.VK_RIGHT){
movingRight = true;
}
}

public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT){
movingLeft = false;
}
if(key == KeyEvent.VK_RIGHT){
movingRight = false;
}
}

public void moving(){
if(movingLeft){
x -= xSpeed;
}
if(movingRight){
x += xSpeed;
}
}

好的,让我们看看这段代码。因为我们正在使用'else if',你要么向右移动,要么向左移动。我还没有测试过这段代码,所以不太确定这是否有效:)

让我知道你的想法并祝你好运!

关于Java2D 游戏 : How to handle keyboard correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465620/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com