浅谈双缓冲技术在游戏里面的应用【java】

窗体类有两种Frame、JFrame两种格式。
需要注意的是,他们都需要导入相关的包。如果是Frame格式,需要添加如下代码(导入相关的包):

import java.awt.Frame;

如果是JFrame格式,需要添加如下代码(导入相关的包):

import java.awt.JFrame;

如果使用双缓冲技术,需要在Frame格式(jdk 1.8在JFrame没成功)的情况下添加如下代码

###  private Image offScreenImage = null;
	  public void update(Graphics g) {
	  if(offScreenImage == null)
   	 offScreenImage = this.createImage(500,500);//这是游戏窗口的宽度和高度  
	  Graphics gOff = offScreenImage.getGraphics();
	  paint(gOff);
	  g.drawImage(offScreenImage, 0, 0, null);

}

过比较他们的效果各不相同,下面展示下Frame与JFrame的区别

|1.Frame格式
Frame格式下,画面是最不稳定的,频繁闪动

2.JFrame格式
JFrame格式下,画面是比较稳定的,但是仍有少数闪动

3.使用双缓冲技术
使用双缓冲技术,画面基本满足需求,游戏体验较好

附上双缓冲技术的相关代码:
/** 添加双缓冲技术的代码*/

private Image offScreenImage = null;
public void update(Graphics g) {
    if(offScreenImage == null)
        offScreenImage = this.createImage(500,562);//这是所设置窗口的宽度和高度
     
    Graphics gOff = offScreenImage.getGraphics();
    paint(gOff);
    g.drawImage(offScreenImage, 0, 0, null);
}  	

猜你喜欢

转载自blog.csdn.net/qq_43371556/article/details/83796002