Aqui estão as suas opções:
Para obter o tamanho do buffer de fundo, use:
GraphicsDevice.PresentationParameters.Bounds
(para um retângulo) ou BackBufferWidth
e BackBufferHeight
.
Você quer o tamanho do buffer de fundo se estiver fazendo coisas como definir viewports, tirar capturas de tela etc.
Para obter o Viewport , use:
GraphicsDevice.Viewport.Bounds
(para um retângulo) ou Width
e Height
.
O tamanho da janela de visualização é o que você deseja usar quando estiver renderizando coisas . Todas as coordenadas para as quais você passa SpriteBatch
estão no espaço do cliente alinhado por pixels em termos da janela de exibição: (0,0) para o pixel superior esquerdo para (largura-1, altura-1) no canto inferior direito. Se você estiver fazendo coisas em 3D, o espaço da projeção vai de (-1, -1) no canto inferior esquerdo da janela de exibição para (1,1) no canto superior direito.
Você pode ajustar o tamanho e a posição da janela na tela (para fazer efeitos como tela dividida). Portanto, embora seja inicializado com o tamanho do buffer de fundo, nem sempre é o mesmo.
Se você estiver fazendo coisas de layout de interface, principalmente se for executado no Xbox 360, esteja ciente Viewport.TitleSafeArea
. Isso indica qual região é definitivamente visível em telas que podem cortar parte da borda.
Se, por algum motivo, você estiver realmente trabalhando com a própria janela do jogo, use Game.GameWindow.ClientBounds
.
GraphicsDevice.Viewport.Bounds - retorna Rectangle2D e possui os parâmetros Width e Height.
fonte