title:TankWar的实现过程
TankWar
day1
1.关于窗口的实现:创建frame子类,继承于frame
2.可创建常量类,项目中尽量不要出现数字,使用常量类来代替数字,常量类中变量通常都声明为public static final 类型,全部大写,在其他类中调用时,需要import导入,通过.*调用所有的静态变量
3.初始化窗口initframe
首先要设置可见,然后可设置窗口名称,大小,位置,背景颜色(关于颜色类的调用都在Color类中调用),其中关于窗口的关闭还需参考6
4.通过建立线程绘画窗口:
首先创建updata类方法,负责所有的绘画工作,同时不能主动调用,只有通过repaint()方法回调
1 | switch (game_state){//通过不同的state状态来绘画出不同的内容,同时game_state |
以下是drawMenu方法的内容,具体解析一下:
1 | g.setColor(Color.WHITE); |
5.此时调用Runnable接口重写run()类,在run方法中统一调用repaint绘画,GAME_INTERVAL通过此常量确定帧数,来绘画动态画面
1 | public void run() { |
6.重点监听事件的分析过程,包括窗口监听和键盘监听
1 | private void EventListener(){ |