Use buffer strategy with proper buffer rotation

Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com>
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
sigonasr2 2022-06-10 15:53:29 -05:00
parent dec88d32f5
commit e31c04c198
3 changed files with 14 additions and 7 deletions

Binary file not shown.

Binary file not shown.

View File

@ -194,13 +194,20 @@ public class Panel extends JPanel implements Runnable,KeyListener {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(RabiClone.f.getBufferStrategy().getDrawGraphics());
// perform draws on pixels
render();
// ask ImageProducer to update image
mImageProducer.newPixels();
// draw it on panel
RabiClone.f.getBufferStrategy().getDrawGraphics().drawImage(this.imageBuffer,0,0,getWidth(),getHeight(),0,0,RabiClone.BASE_WIDTH,RabiClone.BASE_HEIGHT,this);
super.paintComponent(g);
do {
do {
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();
}