Oto twoje opcje:
Aby uzyskać rozmiar bufora wstecznego, użyj:
GraphicsDevice.PresentationParameters.Bounds
(w prostokącie) lub BackBufferWidth
a BackBufferHeight
.
Chcesz rozmiar bufora wstecznego, jeśli robisz takie rzeczy, jak ustawianie rzutni, robienie zrzutów ekranu itp.
Aby uzyskać rzutnię , użyj:
GraphicsDevice.Viewport.Bounds
(w prostokącie) lub Width
a Height
.
Rozmiar rzutni jest tym, czego chcesz użyć, gdy faktycznie renderujesz rzeczy . Wszelkie przekazywane współrzędne SpriteBatch
znajdują się w wyrównanej do pikseli przestrzeni klienckiej pod względem obszaru wyświetlania: (0,0) dla lewego górnego piksela do (szerokość-1, wysokość-1) dla prawego dolnego rogu. Jeśli robisz rzeczy 3D, przestrzeń projekcyjna zmienia się z (-1, -1) w lewym dolnym rogu rzutni na (1,1) w prawym górnym rogu.
Możesz dostosować rozmiar i położenie rzutni na ekranie (do robienia efektów takich jak podział ekranu). Tak więc, chociaż jest on inicjowany do rozmiaru bufora tylnego, niekoniecznie jest zawsze taki sam.
Jeśli robisz rzeczy związane z układem interfejsu, szczególnie jeśli będziesz działać na Xbox 360, pamiętaj o tym Viewport.TitleSafeArea
. Dzięki temu dowiesz się, który region jest zdecydowanie widoczny na ekranach, które mogą odciąć część granicy.
Jeśli z jakiegoś powodu faktycznie pracujesz z samym oknem gry, użyj Game.GameWindow.ClientBounds
.
GraphicsDevice.Viewport.Bounds - zwraca Rectangle2D i ma parametry Szerokość i Wysokość.
źródło