|
|||||||
|
|
|
![]() |
|
|
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: 18:14.



















