2009-04-06 6 views

Respuesta

58

descubrí que es necesario establecer la

GraphicDevice.PreferredBackBufferHeight = height; 
GraphicDevice.PreferredBackBufferWidth = width; 

Al hacer esto en el constructor de la clase de juego que funciona, pero cuando intenta hacer a este fuera el constructor también necesita llamar

GraphicsDevice.ApplyChanges(); 

Además tienen a pantalla completa (que no está realmente funcionando correctamente durante la depuración) se puede utilizar

if (!GraphicsDevice.IsFullScreen) 
    GraphicsDevice.ToggleFullScreen(); 
+3

Esta respuesta es un poco fuera de fecha, por lo que recomiendo comprobar la respuesta de Fuex a continuación. En su mayoría es lo mismo, pero el código se compilará sin modificaciones. –

+0

Esto funciona bien en la última versión. – krowe

-1

Esta solución funciona en XNA 3.0. Sólo hay que poner en el constructor de su objeto de juego:

// Resize the screen to 1024 x 768. 
IntPtr ptr = this.Window.Handle; 
System.Windows.Forms.Form form = (System.Windows.Forms.Form)System.Windows.Forms.Control.FromHandle(ptr); 
form.Size = new System.Drawing.Size(1024, 768); 

graphics.PreferredBackBufferWidth = 1024; 
graphics.PreferredBackBufferHeight = 768; 

graphics.ApplyChanges(); 
69

A partir de XNA 4.0 esta propiedad se encuentra ahora en la GraphicsDeviceManager. Es decir. este código iría en el constructor de tu juego.

graphics = new GraphicsDeviceManager(this); 
graphics.IsFullScreen = false; 
graphics.PreferredBackBufferHeight = 340; 
graphics.PreferredBackBufferWidth = 480; 

// if changing GraphicsDeviceManager properties outside 
// your game constructor also call: 
// graphics.ApplyChanges(); 
+0

La respuesta de Sjors Miltenburg a continuación no está actualizada. Esta respuesta de Fuex es adecuada para XNA 4.0. – Xonatron

+0

Sin embargo, querrá hacer gráficos. Aplicar Cambios() después de esto. –

Cuestiones relacionadas