如果有人可以帮我处理我的代码,我会非常感激,我在开发游戏时学习代码。
这是代码的片段...... 附:我是堆栈溢出的新手,而不是一个流利的java程序员,我还在学习。如果我的问题很模糊或不明确,我很抱歉...... 另外,move(1)使球拍的坐标移动x + = 1并移动(-1)x- = 1 * /
修复尝试#1:
我做了一个改变之后尝试使用一个返回语句,希望它可以工作,没有结果......
public void keyPressed(KeyEvent e) {
//MOVE LEFT
if (e.getKeyCode() == KeyEvent.VK_A){
if(e.getKeyCode() == KeyEvent.VK_D){
move(1);
//maybe update?
return;
}
else
move(-1);
}
//MOVE RIGHT
if (e.getKeyCode() == KeyEvent.VK_D){
if(e.getKeyCode() == KeyEvent.VK_A) {
move(-1);
//maybe update?
return;
}
else
move(1);
}
}
答案 0 :(得分:0)
处理这种情况的最好方法是创建一个布尔数组并将所有内容的值存储在那里,然后再使用它。这样可以更加顺畅地处理更新,并允许您进行更多的组织。要在顶部类型
创建数组public static boolean[] keys = new boolean[999];
然后在按下方法做
public void keyPressed(KeyEvent e) {
keys[e.getKeyCode()] = true;
}
最后在发布方法中
public void keyReleased(KeyEvent e) {
keys[e.getKeyCode()] = false;
}
然后再引用它,只需使用
[class].keys[KeyEvent.[key]]