如果有人能帮我完成我的代码,我会非常感激,因为我在开发游戏时正在学习代码。
这是代码的片段..。附注:我刚开始使用堆栈溢出,而不是一个流利的java程序员,我还在学习。我很抱歉如果我的问题很含糊或不明确..。同时,move(1)使网拍坐标移动x+=1,并移动(-1) x-=1*/
修正attempt#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);
}
}发布于 2017-01-08 08:12:00
处理这种情况的最佳方法是创建一个布尔数组,并将所有的值存储在其中,然后稍后使用它。这样可以更顺利地处理更新,并使您有更多的组织。在顶部类型创建数组
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]]https://stackoverflow.com/questions/41530460
复制相似问题