2012-01-21 49 views
16

Có thể có độ phân giải màn hình máy tính để bàn hiện tại không?XNA - Nhận độ phân giải màn hình hiện tại

Tôi có một vài cài đặt nhỏ trong trò chơi XNA của tôi, một trong số đó là độ phân giải màn hình. Những gì tôi muốn làm là để trống một tùy chọn độ phân giải màn hình nếu nó lớn hơn độ phân giải màn hình hiện tại.

+4

bản sao có thể có của [XNA: nhận chiều rộng và chiều cao của màn hình] (http://stackoverflow.com/questions/1377524/xna-get-screens-width-and-height) –

Trả lời

33

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width.Height sẽ cung cấp cho bạn độ phân giải hiện tại của thiết bị.

Game.GraphicsDevice.Viewport có các biến chiều cao và chiều rộng bạn có thể truy vấn, điều này sẽ cho bạn độ phân giải của chế độ xem của bạn. Chế độ xem thường là kích thước của cửa sổ, nhưng điều đó không được đảm bảo.

Window.ClientBounds.Width.Height sẽ cung cấp cho bạn độ phân giải của cửa sổ trò chơi.

+1

Cảm ơn bạn đã trả lời. Tôi tìm thấy câu trả lời là: GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height – Jpin

+1

Ah vâng, bạn nói đúng. Viewport cung cấp cho bạn độ phân giải của cửa sổ trò chơi, có thể nhỏ hơn toàn bộ màn hình nếu bạn đang ở chế độ cửa sổ trên PC, trong khi CurrentDisplayMode cho bạn độ phân giải màn hình. Tôi sẽ chỉnh sửa câu trả lời của mình để bao gồm các chi tiết đó cho các bài đọc trong tương lai. –

+2

Chế độ xem có thể được thay đổi để có kích thước nhỏ hơn cửa sổ (ví dụ: màn hình chia tách). Tôi sẽ dính với Window.ClientBounds.Width/Height. – YellPika

6

GraphicsAdapter.SupportedDisplayModes sẽ trả về bộ sưu tập tất cả các tỷ lệ khung hình được hỗ trợ. Sau đó, bạn có thể hiển thị tất cả các tỷ lệ trong bộ sưu tập này.

+1

Nevermind, có vẻ như tôi đã đọc sai câu hỏi. Tôi sẽ để nó ở đây cho bất cứ ai khác có thể cần nó. –

+1

Đó là truy vấn google tiếp theo của tôi, vì vậy cảm ơn! :) – keyle

Các vấn đề liên quan