public void keyPressed(KeyEvent e) { //按键键盘监听
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_R:
tc.tanks.clear();
tc.bullets.clear();
tc.trees.clear();
tc.otherWall.clear();
tc.homeWall.clear();
tc.metalWall.clear();
tc.homeTank.setLive(false);
if (tc.tanks.size() == 0) {
for (int i = 0; i < 20; i++) {
if (i < 9)
tc.tanks.add(new Tank(150 + 70 * i, 40, false,
Direction.R, tc));
else if (i < 15)
tc.tanks.add(new Tank(700, 140 + 50 * (i -6), false,
Direction.D, tc));
else
tc.tanks.add(new Tank(10, 50 * (i - 12), false,
Direction.L, tc));
}
}
tc.homeTank = new Tank(300, 560, true, Direction.STOP, tc);
if (!tc.home.isLive())
tc.home.setLive(true);
new TankClient();
break;
case KeyEvent.VK_RIGHT: //坦克向右
bR = true;
break;
case KeyEvent.VK_LEFT://坦克向左
bL = true;
break;
case KeyEvent.VK_UP: //坦克向上
bU = true;
break;
case KeyEvent.VK_DOWN://坦克向下
bD = true;
break;
}
decideDirection();http://ask.csdn.net/#
}
这是我写的键盘按下的监听方法,用于重置游戏和控制坦克行动方向。现在我想做个更改键位的功能,不知道各位大神什么方法能实现。
自己写个静态管理类;
类(A)里面如下部分示例(不考虑安全性):
public static int DOWN = KeyEvent.VK_DOWN;
public static int UP = KeyEvent.VK_UP;
....
然后你的类里面:
case A.DOWN:...
case A.UP :...
修改:
因为所以地方都有读写权限,所以可以如下:
A.DOWN = 修改后的键值;
....
这样就可以了。
如果需要安全,用private static,然后读写可见性放开给不同的类。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。