java游戏双缓冲

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:40:38
我想做个小游戏,不在applit里面。
不想屏幕闪,所以需要双缓冲。不是太懂,
希望哪位大哥给个简单的代码片段来说明下,简单哈 最好每一句都有说明。
谢谢

首先创建缓冲图片
Image bufferImage = Image.createImage(getWidth(),getHeight()) ;
获取缓冲画笔,方便在程序中传递和统一调用
Graphics offgx = bufferImage.getGraphics() ;

在绘制地图的时候,使用offgx这个缓冲画笔
public static final void drawMap()
{
for(int i = 0 ; i < 10 ; i++)
{
for(int j = 0 ; j < 10 ; j++)
{
int mapImageID = getImageID(i,j) ;//获取当前地图块的图片代号
//通过缓冲画笔offgx将图片绘制到bufferImage上
offgx.drawImage(mapImage[mapImageID],i << 4,j << 4,20) ;
}
}
}

然后在paint方法中,显示bufferImage、
public void paint(graphics g)
{
g.drawImage(bufferImage,0,0,20) ;

}

public void run()
{

while(true)
{
drawMap() ;
repaint() ;
Thread.sleep(80) ;
}
}