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);
} 展开
{
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);
} 展开
展开全部
这个是双缓冲的绘制方法
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);
这里是将缓冲区再绘制到实际屏幕上
采用双缓冲可以保证画面不会闪烁 因为图片的刷新都是发生在内存区上的 实际屏幕上用户是感觉不出来的 所以人眼感觉不到闪烁
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);
这里是将缓冲区再绘制到实际屏幕上
采用双缓冲可以保证画面不会闪烁 因为图片的刷新都是发生在内存区上的 实际屏幕上用户是感觉不出来的 所以人眼感觉不到闪烁
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |