|
|
@ -194,21 +194,9 @@ public class Panel extends JPanel implements Runnable,KeyListener { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
super.paintComponent(g); |
|
|
|
//super.paintComponent(g);
|
|
|
|
do { |
|
|
|
// perform draws on pixels
|
|
|
|
do { |
|
|
|
g.drawImage(this.imageBuffer,0,0,getWidth(),getHeight(),0,0,RabiClone.BASE_WIDTH,RabiClone.BASE_HEIGHT,this); |
|
|
|
Graphics g2 = RabiClone.f.getBufferStrategy().getDrawGraphics(); |
|
|
|
|
|
|
|
// perform draws on pixels
|
|
|
|
|
|
|
|
render(); |
|
|
|
|
|
|
|
// ask ImageProducer to update image
|
|
|
|
|
|
|
|
mImageProducer.newPixels(); |
|
|
|
|
|
|
|
// draw it on panel
|
|
|
|
|
|
|
|
g2.drawImage(this.imageBuffer,0,0,getWidth(),getHeight(),0,0,RabiClone.BASE_WIDTH,RabiClone.BASE_HEIGHT,this); |
|
|
|
|
|
|
|
g2.dispose(); |
|
|
|
|
|
|
|
} while (RabiClone.f.getBufferStrategy().contentsRestored()); |
|
|
|
|
|
|
|
RabiClone.f.getBufferStrategy().show(); |
|
|
|
|
|
|
|
} while (RabiClone.f.getBufferStrategy().contentsLost()); |
|
|
|
|
|
|
|
updateFPSCounter(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -369,7 +357,27 @@ public class Panel extends JPanel implements Runnable,KeyListener { |
|
|
|
public void run() { |
|
|
|
public void run() { |
|
|
|
while (true) { |
|
|
|
while (true) { |
|
|
|
// request a JPanel re-drawing
|
|
|
|
// request a JPanel re-drawing
|
|
|
|
repaint(); |
|
|
|
//repaint();
|
|
|
|
|
|
|
|
render(); |
|
|
|
|
|
|
|
mImageProducer.newPixels(); |
|
|
|
|
|
|
|
if (RabiClone.f!=null&&RabiClone.f.getBufferStrategy()!=null) { |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
if (RabiClone.f.getBufferStrategy()!=null) { |
|
|
|
|
|
|
|
Graphics g2 = RabiClone.f.getBufferStrategy().getDrawGraphics(); |
|
|
|
|
|
|
|
if (g2!=null) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
paintComponent(g2); |
|
|
|
|
|
|
|
} finally { |
|
|
|
|
|
|
|
g2.dispose(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} while (RabiClone.f.getBufferStrategy().contentsRestored()); |
|
|
|
|
|
|
|
RabiClone.f.getBufferStrategy().show(); |
|
|
|
|
|
|
|
} while (RabiClone.f.getBufferStrategy().contentsLost()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
updateFPSCounter(); |
|
|
|
//System.out.println("Repaint "+frameCount++);
|
|
|
|
//System.out.println("Repaint "+frameCount++);
|
|
|
|
waitForNextFrame(); |
|
|
|
waitForNextFrame(); |
|
|
|
} |
|
|
|
} |
|
|
|