我是一名自学成才的程序员,所以我不知道正确的做事方法。我制作了小行星和蛇等简单游戏,但在这些游戏中,您可以轻松修改 keyevent 函数中的变量。以下是我在简单的小行星游戏中的做法:
/*
* key listener events
*/
public void keyReleased(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = false;
break;
case KeyEvent.VK_RIGHT:
turnRight = false;
break;
case KeyEvent.VK_UP:
accel = false;
break;
case KeyEvent.VK_1:
cls = true;
break;
case KeyEvent.VK_ENTER:
break;
case KeyEvent.VK_SPACE:
fire = false;
}
}
public void keyTyped(KeyEvent K){}
public void keyPressed(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = true;
break;
case KeyEvent.VK_RIGHT:
turnRight = true;
break;
case KeyEvent.VK_UP:
accel = true;
break;
case KeyEvent.VK_1:
cls = false;
break;
case KeyEvent.VK_ENTER:
clearAllBullets();
break;
case KeyEvent.VK_SPACE:
fire = true;
}
}
如果我要制作一个更高级的游戏(带有主菜单、选项、主游戏等),我应该如何进行键/鼠标输入?
此外,如果我要进入单人游戏,我是否应该将所有游戏代码放入一个类中?有没有办法将单人游戏代码放入单独的类中,并以某种方式让按键输入仍然修改变量等?
感谢您的宝贵时间!
附注任何链接或来源都非常感谢。 :D
最佳答案
“有没有办法将单人游戏代码放入单独的类中,并以某种方式让按键输入仍然修改变量等?”
是的,有办法封装所有基于事件的行为 - http://en.wikipedia.org/wiki/Mediator_pattern但是,它会使您的代码变得非常复杂,因此首先尝试以更“正常”的方式实现您的游戏。
无论如何 - 您将需要其他类来呈现游戏的域模型(玩家、游戏板、用户界面等...)
关于java - 我应该如何在高级 java 游戏中对鼠标/按键输入进行编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412222/