首页 > 其他 > 详细

关于双缓存

时间:2015-07-18 07:15:01      阅读:216      评论:0      收藏:0      [点我收藏+]

为了防止屏幕闪烁现象,利用双缓存解决。原理主要是将图片画在虚拟屏幕上,再将画直接从虚拟屏幕上直接画在实际屏幕上。repaint()方法实际上是先调用update()方法然后再调用paint()方法,实现双缓存就利用了这一点,代码如下

Image offScreenImage=null;
public void update(Graphics g) 
     {
        if(offScreenImage==null)
            offScreenImage=this.createImage(GAME_WIDTH,GAME_HIGHT);
        Graphics gOffScreenImage=offScreenImage.getGraphics();
        Color c=gOffScreenImage.getColor();
        gOffScreenImage.setColor(Color.GREEN);
        gOffScreenImage.fillRect(0, 0, GAME_WIDTH,GAME_HIGHT);
        gOffScreenImage.setColor(c);//刷新背景
        paint(gOffScreenImage);//利用虚拟屏的画笔在虚拟屏上画图ss
        g.drawImage(offScreenImage,0,0,null);//将虚拟图上的图片贴到实际屏幕上
        //双缓存主要是利用调用repaint方法的顺序是先调用update(),再调用paint();
    }


关于双缓存

原文:http://10002198.blog.51cto.com/9992198/1675835

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!