2012-01-21 17 views
16

Czy można uzyskać rozdzielczość ekranu bieżącego pulpitu?XNA - Uzyskaj rozdzielczość ekranu bieżącego

Mam kilka mniejszych ustawień w mojej grze XNA, z których jedną jest rozdzielczość ekranu. Co chcę zrobić, to wyłączyć opcję rozdzielczości ekranu, jeśli jest większa niż obecna rozdzielczość pulpitu obsługuje.

+4

możliwy duplikat [XNA: uzyskaj szerokość i wysokość ekranu] (http://stackoverflow.com/questions/1377524/xna-get-screens-width-and-height) –

Odpowiedz

33

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width i .Height da ci bieżącą rozdzielczość urządzenia.

Game.GraphicsDevice.Viewport ma zmienne wysokości i szerokości, które można wyszukiwać, co da rozdzielczość ekranu. Okno robocze ma zwykle rozmiar okna, ale nie jest to gwarantowane.

Window.ClientBounds.Width i .Height poda rozdzielczość twojego okna gry.

+1

Dzięki za odpowiedź. Znalazłem odpowiedź: GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height – Jpin

+1

Ach tak, masz rację. Viewport zapewnia rozdzielczość twojego okna gry, która może być mniejsza niż cały pulpit, jeśli jesteś w trybie okienkowym na komputerze, podczas gdy CurrentDisplayMode zapewnia rozdzielczość pulpitu. Zmienię moją odpowiedź, aby uwzględnić te szczegóły dla przyszłych odczytów. –

+2

Rzutnie można zmienić, aby miały rozmiar mniejszy niż okno (np. Podzielony ekran). Trzymałbym się z Window.ClientBounds.Width/Height. – YellPika

6

GraphicsAdapter.SupportedDisplayModes zwróci kolekcję wszystkich obsługiwanych współczynników proporcji. Następnie możesz pokazać wszystkie wskaźniki, które znajdują się w tej kolekcji.

+1

Nieważne, wygląda na to, że błędnie przeczytałem pytanie. Zostawię to tutaj dla każdego, kto może tego potrzebować. –

+1

To było moje następne zapytanie google, więc dziękuję! :) – keyle

Powiązane problemy