双缓冲技术。
public class StartMain extends Applet{
private Image bufferPage;
public int p_x = 50;
public int p_y = 50;
@Override
public void init() {
resize(800, 600);
MouseListener ml = new MyActionController(this);
addMouseListener(ml);
//start();
RunController runcon = new RunController(this);
new Thread(runcon).start();
PlayerController.addEnemy();
//runcon.run();
}
// @Override
// public void paint(Graphics g){
// MyDrawController.drawAll();
// }
//private int num = 0;
@Override
public void update(Graphics g) {
if(bufferPage==null){
//System.out.println("================"+num);
//num++;
bufferPage = createImage(800, 600);
Graphics gbuffer = bufferPage.getGraphics();
MyDrawController.g = gbuffer;
}
// MyDrawController.p_x = p_x;
// MyDrawController.p_y = p_y;
//paint(MyDrawController.g);
MyDrawController.drawAll();
g.drawImage(bufferPage, 0, 0, null);
}
}
主要是重写update方法