java项目之——坦克大战09

问题:由于上一个版本的方向控制出现一个问题,比如向右走,然后向下走,不过此时坦克将不会向下走,而是向右下走,而且是一去不回头。

          功能:实习坦克八个方向运动(2)

          内容:创建键盘抬起监听,每次抬起坦克将会使坦克脱离按键控制。

1.在tankClient中

	public void keyReleased(KeyEvent e) {
			myTank.keyReleased(e);
		}

2.在tank中

  public void keyReleased(KeyEvent e) {
	   int key = e.getKeyCode();
	    switch(key){
		case KeyEvent.VK_LEFT:  bL=false;  break;
		case KeyEvent.VK_UP:    bU=false;  break;
		case KeyEvent.VK_RIGHT: bR=false;  break;
		case KeyEvent.VK_DOWN:  bD=false;  break;
		}
		locateDirection();

	}

就是将keyPressed的false改为true

       下面是对比:

 public void keyPressed(KeyEvent e) {
		int key = e.getKeyCode();
		switch(key){
		case KeyEvent.VK_LEFT:  bL=true;  break;
		case KeyEvent.VK_UP:    bU=true;  break;
		case KeyEvent.VK_RIGHT: bR=true;  break;
		case KeyEvent.VK_DOWN:  bD=true;  break;
		}
		locateDirection();
	}

总结:主要思想是按键的抬起,而不是用修改代码实现方向的改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值