Ecco le tue opzioni:
Per ottenere la dimensione del back-buffer utilizzare:
GraphicsDevice.PresentationParameters.Bounds
(per un rettangolo) oppure BackBufferWidth
e BackBufferHeight
.
Vuoi la dimensione del back-buffer se stai facendo cose come impostare finestre, scattare schermate, ecc.
Per ottenere il Viewport , utilizzare:
GraphicsDevice.Viewport.Bounds
(per un rettangolo) oppure Width
e Height
.
La dimensione del viewport è ciò che vuoi usare quando stai effettivamente eseguendo il rendering delle cose . Tutte le coordinate a cui si passa si SpriteBatch
trovano nello spazio client allineato ai pixel in termini di viewport: (0,0) per il pixel in alto a sinistra a (larghezza-1, altezza-1) per in basso a destra. Se si eseguono operazioni 3D, lo spazio di proiezione va da (-1, -1) nella parte inferiore sinistra della finestra a (1,1) nella parte superiore destra.
È possibile regolare le dimensioni e la posizione della finestra sullo schermo (per eseguire effetti come schermo diviso). Quindi, mentre è inizializzato alla dimensione del back-buffer, non è necessariamente sempre lo stesso.
Se stai eseguendo operazioni di layout dell'interfaccia, in particolare se eseguirai Xbox 360, tieni presente Viewport.TitleSafeArea
. Questo ti dice quale regione è sicuramente visibile sugli schermi che potrebbero tagliare parte del bordo.
Se, per qualche motivo, stai effettivamente lavorando con la finestra di gioco stessa, usa Game.GameWindow.ClientBounds
.