`
fenglei
  • 浏览: 71943 次
社区版块
存档分类
最新评论

总结2

    博客分类:
  • java
阅读更多
GUI中的消息传递机制
1.set ,get方法
2.持有对方的引用
3.定义static
4.内部类,匿名类


面向对象的思想:
子弹是一个类,墙是一个类,坦克是一个类,爆炸是一个类,血块是一个类。
子弹撞到墙,子弹消失,这是子弹的事情,可以写在子弹类里。
子弹撞到坦克,子弹和坦克都消失,产生一个爆炸,这也是子弹的事情,可以写在子弹类里。

坦克撞到坦克,互相弹开,是坦克的事情,写坦克类里。
坦克撞到血块,坦克生命值增加,是坦克的事情,写坦克类里。

谁发出了动作,就写谁那里。。。类的组成(属性和方法)

开始写一个类的时候,可以按如下顺序考虑:
1.这个类有哪些属性。
2.需要这个类做什么
3.不需要一次性全部考虑到,循环考虑,需要的时候慢慢添加。

修改某个类时,如果牵扯到其他类的东西较多,则设计的不太合理(封装性)


双缓冲解决闪屏问题
原因:
* 刷新重画频率过快,paint方法还没有完成
* 逐条显示

解决方法:
将所有东西画在虚拟图片上,一次性显示出来

repaint()方法是先调用 update(Graphics g)方法再调用paint(Graphics g)
分享到:
评论
4 楼 heweiding155 2012-03-02  
      
3 楼 fenglei 2012-03-02  
heweiding155 写道
子弹撞到tank,tank消失 这不也关tank的事么 ? 为什么写在子弹里 ?

好吧。。子弹撞墙,子弹撞坦克。。。。。你不觉得都写子弹里比较好哈,比较相似比较紧凑不?。。。然后子弹撞坦克导致的坦克状态变化啥的应该作为一个方法写在坦克里,在子弹撞击成功的时候调用这个方法。。。。
2 楼 fenglei 2012-03-02  
好吧。。子弹撞墙,子弹撞坦克。。。。。你不觉得都写子弹里比较好哈,比较相似比较紧凑不?。。。然后子弹撞坦克导致的坦克状态变化啥的应该作为一个方法写在坦克里,在子弹撞击成功的时候调用这个方法。。。。
1 楼 heweiding155 2012-03-01  
子弹撞到tank,tank消失 这不也关tank的事么 ? 为什么写在子弹里 ?

相关推荐

Global site tag (gtag.js) - Google Analytics