XNA에서 창 크기를 찾는 방법


10

XNA에서 창의 크기를 알 수있는 방법이 있는지 알고 싶었습니다. 특정 크기로 설정하고 싶지 않습니다. 현재 자동으로 표시되는 치수를 알고 싶습니다. 이 정보를 찾을 수있는 방법이 있습니까?

게임을 시작하기 전에이 정보를 찾거나 직접 수동으로 설정 했어야한다는 것을 알고 있습니다. 그러나 저는 초보자이며 이미 투자 한 차원에서 일하기를 희망하고 있습니다. 감사합니다!

답변:


15

옵션은 다음과 같습니다.

백 버퍼 크기를 사용하려면 다음을 사용하십시오.

GraphicsDevice.PresentationParameters.Bounds(직사각형) 또는 BackBufferWidthBackBufferHeight.

뷰포트 설정, 스크린 샷 찍기 등과 같은 작업을 수행하는 경우 백 버퍼 크기를 원합니다.

뷰포트 를 얻으려면 다음을 사용하십시오.

GraphicsDevice.Viewport.Bounds(직사각형) 또는 WidthHeight.

뷰포트의 크기는 실제로 물건을 렌더링 할 때 사용하려는 것 입니다. 전달하는 좌표 SpriteBatch는 뷰포트 측면에서 픽셀 정렬 클라이언트 공간에 있습니다. 왼쪽 상단 픽셀의 경우 (0,0)은 오른쪽 하단의 (너비 -1, 높이 -1)입니다. 3D 작업을하는 경우 투영 공간 은 뷰포트 왼쪽 하단의 (-1, -1)에서 오른쪽 상단의 (1,1)로 이동합니다.

화면에서 뷰포트의 크기와 위치를 조정할 수 있습니다 (분할 화면과 같은 효과 수행). 따라서 백 버퍼의 크기로 초기화되는 동안 항상 동일한 것은 아닙니다.

인터페이스 레이아웃 작업을 수행하는 경우, 특히 Xbox 360에서 실행하는 경우에 유의하십시오 Viewport.TitleSafeArea. 이것은 어떤 경계가 화면에서 잘 보이는 영역을 알려줍니다.

어떤 이유로 게임 창 자체에서 실제로 작업하는 경우을 사용하십시오 Game.GameWindow.ClientBounds.


고마워요! 나는 그것이 2D 게임임을 명시해야했지만 두 가지 대답을 모두 해주셔서 감사합니다. 뷰포트를 읽습니다.
Nick Van Hoogenstyn

2

GraphicsDevice.Viewport.Bounds-Rectangle2D를 반환하며 Width 및 Height 매개 변수가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.