|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
[Java]Problema fullscreen e canvas
Quando uso il fullscreen mi appare solo il canvas ma non quello che ci disegno sopra, il codice è tipo questo:
Codice:
JFrame frame=new JFrame("prova"); frame.setIgnoreRepaint(true); frame.setUndecorated(true); GraphicsConfiguration gc = frame.getGraphicsConfiguration(); GraphicsDevice gd = gc.getDevice(); gd.setFullScreenWindow(frame); gd.setDisplayMode(new DisplayMode(SCREEN_WIDTH,SCREEN_HEIGHT,BIT_DEPTH,REFRESH_RATE)); MyCanvas c=new MyCanvas(); frame.getContenPane().add(c); frame.pack(); frame.setVisible(true); public class MyCanvas implements Runnable{ BufferStrategy bs; public MyCanvas(){ setBounds(0,0,SCREEN_WIDTH,SCREEN_HEIGHT); setBackground(Color.blue); } public addNotify(){ super.addNotify(); createBufferStrategy(2); bs=getBufferStrategy(); setVisible(true); Thread t=new Thread(this); t.start(); } public void run(){ while(true){ Graphics g=bs.getDrawGraphics(); renderizza(g); Thread.yield(); } } } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Nessuno sa dirmi nulla su questo problema?
Aggiungo qualcosa, in fullscreen vedo solo il canvas blu, ma non quello ci disegno sopra, se invece creo il bufferStrategy così: createBufferStrategy(numBuffer,new BufferCapabilities(new ImageCapabilities(true), new ImageCapabilities(true), BufferCapabilities.FlipContents.COPIED)); vedo tutto bene, però devo mettere sempre BufferCapabilities.FlipContents.COPIED come opzione altrimenti da lo stesso difetto. A cosa è dovuto tutto cio? In questo modo non posso usrae il vsync dello schermo... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:45.