Ini pilihanmu:
Untuk mendapatkan ukuran back-buffer gunakan:
GraphicsDevice.PresentationParameters.Bounds
(untuk persegi panjang) atau BackBufferWidth
dan BackBufferHeight
.
Anda ingin ukuran back-buffer jika Anda melakukan hal-hal seperti mengatur viewports, mengambil screenshot, dll.
Untuk mendapatkan Viewport , gunakan:
GraphicsDevice.Viewport.Bounds
(untuk persegi panjang) atau Width
dan Height
.
Ukuran viewport adalah apa yang ingin Anda gunakan saat Anda benar-benar merender barang . Koordinat apa pun yang Anda lewati SpriteBatch
berada dalam ruang klien sejajar piksel dalam hal viewport: (0,0) untuk piksel kiri atas ke (lebar-1, tinggi-1) untuk kanan bawah. Jika Anda melakukan hal-hal 3D, ruang proyeksi beralih dari (-1, -1) di kiri bawah viewport ke (1,1) di kanan atas.
Anda dapat menyesuaikan ukuran dan posisi viewport di layar (untuk melakukan efek seperti layar terpisah). Jadi, sementara itu diinisialisasi ke ukuran back-buffer, itu tidak selalu selalu sama.
Jika Anda melakukan hal-hal tata letak antarmuka, terutama jika Anda akan berjalan di Xbox 360, berhati-hatilah Viewport.TitleSafeArea
. Ini memberi tahu Anda wilayah mana yang benar-benar terlihat di layar yang mungkin memotong beberapa perbatasan.
Jika, karena alasan tertentu, Anda benar-benar bekerja dengan jendela permainan itu sendiri, gunakan Game.GameWindow.ClientBounds
.
GraphicsDevice.Viewport.Bounds - ini mengembalikan Rectangle2D dan memiliki parameter Lebar dan Tinggi.
sumber