java 坦克大战 一段代码 关于图像绘制 不懂 求解?

publicvoidupdate(Graphicsg){if(offScreenImage==null){offScreenImage=this.createImage(... public void update(Graphics g)
{
if (offScreenImage == null)
{
offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);
}
Graphics gOffScreen = offScreenImage.getGraphics();

//画出背景地图
gOffScreen.drawImage(imgs, 0, 0, GAME_WIDTH, GAME_HEIGHT,null);

paint(gOffScreen);
g.drawImage(offScreenImage, 0, 0, null);

}
展开
 我来答
pingia
2010-06-06 · TA获得超过568个赞
知道小有建树答主
回答量:697
采纳率:100%
帮助的人:762万
展开全部
这个是双缓冲的绘制方法

if (offScreenImage == null)
{
offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);
}
这里是先在内存中创建一个 offScreenImage 的缓冲图像

gOffScreen.drawImage(imgs, 0, 0, GAME_WIDTH, GAME_HEIGHT,null);
这里是将背景图片绘制到刚才创建的这块缓冲区上

paint(gOffScreen);
g.drawImage(offScreenImage, 0, 0, null);
这里是将缓冲区再绘制到实际屏幕上

采用双缓冲可以保证画面不会闪烁 因为图片的刷新都是发生在内存区上的 实际屏幕上用户是感觉不出来的 所以人眼感觉不到闪烁
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式