码迷,mamicode.com
首页 > 其他好文 > 详细

关于双缓存

时间:2015-07-18 07:17:48      阅读:107      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!