这段双缓冲代码没效果,画了以后,整个窗口就不动了
private Image offScreenImage == null;
@Override
public void paint(Graphics g){ // g是一只画笔 系统会自动调用paint
g.drawImage(bj,0,0,Constant.GAME_WIDTH,Constant.GAME_HEIGHT,null);
p1.drawMyself(g);
if (left){ p1.x -= p1.speed; }
if (right){ p1.x += p1.speed; }
if (up){ p1.y -= p1.speed; }
if (down){ p1.y += p1.speed; }
}
public void update(Graphics g){
if (offScreenImage == null){
offScreenImage = this.createImage(Constant.GAME_WIDTH,Constant.GAME_HEIGHT);//这是游戏窗口的宽度和高度
Graphics gOff = offScreenImage.getGraphics();
paint(gOff);
g.drawImage(offScreenImage, 0, 0, null);
}
}