2012-01-21 19 views
16

È possibile ottenere la risoluzione dello schermo desktop corrente?XNA - Ottieni risoluzione dello schermo corrente

Ho alcune impostazioni minori nel mio gioco XNA, una delle quali è la risoluzione dello schermo. Quello che voglio fare è cancellare un'opzione di risoluzione dello schermo se è più grande della risoluzione attuale del desktop.

+4

possibile duplicato di [XNA: ottieni larghezza e altezza dello schermo] (http://stackoverflow.com/questions/1377524/xna-get-screens-width-and-height) –

risposta

33

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width e .Height forniscono la risoluzione corrente del dispositivo.

Game.GraphicsDevice.Viewport dispone di variabili di altezza e larghezza che è possibile interrogare, che forniscono la risoluzione della vista. Il viewport è solitamente la dimensione della finestra, ma non è garantito.

Window.ClientBounds.Width e .Height daranno la risoluzione della finestra di gioco.

+1

Grazie per la risposta. Ho trovato la risposta: GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height – Jpin

+1

Ah sì, hai ragione. Viewport ti dà la risoluzione della finestra di gioco, che può essere più piccola dell'intero desktop se sei in modalità finestra su un PC, mentre CurrentDisplayMode ti dà la risoluzione del desktop. Modificherò la mia risposta per includere quei dettagli per le letture future. –

+2

La vista può essere modificata per avere una dimensione inferiore alla finestra (ad esempio splitscreen). Vorrei rimanere con Window.ClientBounds.Width/Height. – YellPika

6

GraphicsAdapter.SupportedDisplayModes restituirà una raccolta di tutte le proporzioni supportate. È quindi possibile mostrare tutti i rapporti presenti in questa raccolta.

+1

Non importa, ho letto male la domanda. Lascerò qui per chiunque altro possa averne bisogno. –

+1

Questa era la mia prossima query su Google, quindi grazie! :) – keyle

Problemi correlati