坦克技术之--事件处理机制.坦克大战2.0版本
(1)基本技术介绍
Java中事件处理机制采用委派事件模型,就是说,当事件发生的时候,产生事件的对象(也就是我们的事件源)会把“信息”传给他的事件监听者,让这个事件监听者对这个事件去处理。而这里所说的信息就是我们的java.awt.event下的某个类产生的对象,也就是说我们java中的事件是用对象来表示的,我们称之为事件对象。
先来完成下面的小问题。。点击黑色,背景为黑色,点击红色,背景为红色
代码如下;解释:
(1) 我们需要引入包java.awt.event.*;这是我们实现事件监听必须的包
(2) 然后我们让我们的那个类实现监听就要实现接口ActionListener这是对我们鼠标点击的监听,由于我们实现接口,那么自然需要实现接口中的虚函数
(3) 然后我们的按钮点击,如果需要有反应。。由于我们的这个Th类实例化的对象是事件监听者,所有我们的实例化按钮需要向他注册。。就是告诉他说,我的点击事件的处理你来负责呀。。。所有需要向他注册。。并且我们点击黑色和红色要有不同的反应,所有还要设置命令标示符
练习。。实现按键盘的上下左右。。然后黑点就跟着动起来
代码如上所示:有几点说明:
(1) 我们现在是对键盘的事件处理所有我们实现的接口是KeyListener..
(2) 我的面板实例化的对象是事件监听者,他同样是我们的事件产生着
(3) 当我们对我们的圆点坐标进行变化后,需要重绘
(2)坦克游戏2.0版
实现功能:画出我方和敌方坦克,并且可以让我方坦克运动
(1) 由于我们需要对事件进行处理所有需要引入包
(3) 在我们实现的虚函数中,需要对按键进行处理,对坦克的方向以及坐标进行改变,这样坦克才能动起来,当然在最后需要调用repaint()函数
(4) 在我们的坦克类中添加方向以及速度的成员变量
(5) 给我方坦克添加技能
(6) 把坦克等类分离出来到member.java这个文件。有利于管理
(7) 把DrawTank 函数添加完整,让他可以完整的吧坦克画出来
(8)添加一个新的类。。就是敌人坦克
(9) 我们使用Vector 来保存敌人的坦克。。。
(10) 在战场上显示敌人坦克
小结:总共进行了十一处改动,我们使用事件处理机制对我们的按键进行响应,从而达到我们的坦克能动的目的。。然后我们使用向量Vector来存储敌人的坦克,生成后进行显示
附注:详细源代码请在附件中下载
转载于:https://blog.51cto.com/pzgjszj/1063399