坦克技术之--事件处理机制.坦克大战2.0版本

1)基本技术介绍

Java中事件处理机制采用委派事件模型,就是说,当事件发生的时候,产生事件的对象(也就是我们的事件源)会把“信息”传给他的事件监听者,让这个事件监听者对这个事件去处理。而这里所说的信息就是我们的java.awt.event下的某个类产生的对象,也就是说我们java中的事件是用对象来表示的,我们称之为事件对象。

 

先来完成下面的小问题。。点击黑色,背景为黑色,点击红色,背景为红色

 

 

 

 

 

代码如下;解释:

(1)       我们需要引入包java.awt.event.*;这是我们实现事件监听必须的包

(2)       然后我们让我们的那个类实现监听就要实现接口ActionListener这是对我们鼠标点击的监听,由于我们实现接口,那么自然需要实现接口中的虚函数

(3)       然后我们的按钮点击,如果需要有反应。。由于我们的这个Th类实例化的对象是事件监听者,所有我们的实例化按钮需要向他注册。。就是告诉他说,我的点击事件的处理你来负责呀。。。所有需要向他注册。。并且我们点击黑色和红色要有不同的反应,所有还要设置命令标示符

 

 

 

练习。。实现按键盘的上下左右。。然后黑点就跟着动起来

 

 

 

 

 

 

代码如上所示:有几点说明:

(1)       我们现在是对键盘的事件处理所有我们实现的接口是KeyListener..

(2)       我的面板实例化的对象是事件监听者,他同样是我们的事件产生着

(3)       当我们对我们的圆点坐标进行变化后,需要重绘

2)坦克游戏2.0

实现功能:画出我方和敌方坦克,并且可以让我方坦克运动

 

 

(1)       由于我们需要对事件进行处理所有需要引入包

 

(2)       而我们的MyPanel 实例化的对象就是战场,我的的战场需要处理我们的按键消息,所有需要实现接口KeyListener ,二实现接口就要实现该接口中的虚函数
 

 

(3)        在我们实现的虚函数中,需要对按键进行处理,对坦克的方向以及坐标进行改变,这样坦克才能动起来,当然在最后需要调用repaint()函数

   



(4)       在我们的坦克类中添加方向以及速度的成员变量

 

(5)       给我方坦克添加技能

(6)       把坦克等类分离出来到member.java这个文件。有利于管理

(7)       DrawTank 函数添加完整,让他可以完整的吧坦克画出来

(8)添加一个新的类。。就是敌人坦克

(9)       我们使用Vector 来保存敌人的坦克。。。

(10)       在战场上显示敌人坦克

小结:总共进行了十一处改动,我们使用事件处理机制对我们的按键进行响应,从而达到我们的坦克能动的目的。。然后我们使用向量Vector来存储敌人的坦克,生成后进行显示

 

附注:详细源代码请在附件中下载