Java 飞机大战 键盘控制飞机
2021/12/5 11:46:45
本文主要是介绍Java 飞机大战 键盘控制飞机,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package PlayGame; import java.awt.*; import java.awt.event.KeyEvent; public class Plane extends GameObject { boolean left,right,up,down;//飞机方向 public void drawSelf(Graphics g) { g.drawImage(img, (int) x, (int) y, null); if (left) { //如果 left 是真,坐标x-speed(x = 50 ,speed = 1,就是说明按一下left键 ,就成了49) x -= speed; } if(right){ x+=speed; } if(up){ y-=speed; } if(down){ y+=speed; } } public Plane(Image img, double x, double y) { this.img = img; this.x = x; this.y = y; } //按下某个键,增加相应的方向 public void addDirection(KeyEvent e){ switch (e.getKeyCode()){ case KeyEvent.VK_LEFT: //KeyEvent.VK_left :告诉left对应的数字是多少 left = true; break; case KeyEvent.VK_UP: up = true; break; case KeyEvent.VK_RIGHT: right = true; break; case KeyEvent.VK_DOWN: down = true; break; } } //按下某个键,取消相应的方向 ,如果不取消 就会一直向这个方向移动 public void minusDirection(KeyEvent e){ switch (e.getKeyCode()){ case KeyEvent.VK_LEFT: //KeyEvent.VK_left :告诉left对应的数字是多少 left = false; break; case KeyEvent.VK_UP: up = false; break; case KeyEvent.VK_RIGHT: right = false; break; case KeyEvent.VK_DOWN: down = false; break; } } }
KeyEvent对象描述事件的特性(按下,放开,或者敲击一个键)和对应的值 。
当按下一个键时会调用KeyPressed处理器,当松开一个键时会调用KeyReleased处理器,当输入一个统一编码时会调用KeyTyped处理器。如果这个键不是统一码(如功能键,修改键,动作键和控制键) 每个按键事件有一个相关的按键字符和按键代码,分别由KeyEvent中的getKeyChar()和getKeyCode()方法返回 getKeyChar(): char 返回这个事件中和键相关的字符 getKeyCode(): int 返回这个事件中和键相关的整数键 getKeyCode() 返回定义在表中的值 getKeyChar() 返回输入的字符 keyPressed(e: KeyEvent) 在源组件上按下一个键后被调用 KeyReleased(e: KeyEvent) 在源组件上释放一个键后被调用 KeyTyped(e: KeyEvent) 在源组件上按下一个键然后释放该键后被调用 *************************************************************************************************** boolean 定义了 left , right ,up ,down 四个键(即 真假值 true false) KeyEvent.VK_?? :表示提取这个键盘的值,如 KeyEvent.VK_UP 表示 up键的整数值, KeyEvent.VK_UP 是38,就不需要去记忆上键的值。 ********************************************************************************************* 在重画飞机中,采用对应的真假值来改变下一次飞机重画时的坐标。这篇关于Java 飞机大战 键盘控制飞机的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南