电子商务网站建设和管理的意义,申请网站步骤,安徽做网站找谁,厦门亚龙网站建设文章目录 1 绘制坦克坦克画板Panel画框Frame 2 让坦克动起来画板Panel 1 绘制坦克
坦克
不同坦克有共同属性#xff0c;可以先提取共同特征#xff08;坐标位置#xff09;作为父类#xff0c;然后其他坦克类继承它。
画板Panel
有坦克在画板上显示#xff0c;所以包含… 文章目录 1 绘制坦克坦克画板Panel画框Frame 2 让坦克动起来画板Panel 1 绘制坦克
坦克
不同坦克有共同属性可以先提取共同特征坐标位置作为父类然后其他坦克类继承它。
画板Panel
有坦克在画板上显示所以包含不同的坦克子类并在构造器初始化时创建该具体对象。
paint方法中
g.fillRect创建黑色背景画坦克由于代码会进行复用会画很多坦克所以在Panel类中专门写方法drawTank实现。其中包括对坦克类型我方为青色敌方为黄色和前进方向具体绘制包括上下左右朝向的设置
画框Frame
有画板在画框中所以包含Panel对象并在构造器初始化时创建该具体对象。
构造器对于画板对象的设置包括
在Frame类对象中创建并添加画板Panel设置Panel大小、默认关闭操作、是否可见
2 让坦克动起来
画板Panel
实现KeyListener接口在keyPressed方法中通过WSAD键实现对坦克上下左右的控制并调用this.repaint();重新绘制坦克。
上下左右的控制
keyPressed中以向上移动举例
将坦克对象的方向设置好然后朝该方向移动一定位置坐标±speed由上引出方向direct和速度speed两个变量均加入Tank类进行实现。同时移动位置也集成到Tank类中可以直接对类中的坐标进行操作。
在Frame中添加this.addKeyListener(mp);mp是Panel用于监听。