2015-01-17 4 views
0

저는 몇 가지 간단한 구형 게임의 일부 클론을 만들어서 Monogame을 배우려고합니다. 나는 여기에 설명 된 방법을 통해 화면 해상도 설정하려고 : 처음에는화면 해상도가 기본값으로 다시 설정됩니다.

How do I set the window/screen size in xna?

, 해상도가 성공적으로 변경되었음을 Console.WriteLine() 보고서를 호출,하지만 난 다음 프로그램을 실행할 때, 나는 기본을 얻을 수 800 × 480 . update() 메서드에서 Console.WriteLine()이라는 또 다른 호출을 추가하여 해상도가 무엇인지보고하고 800x480을보고했습니다.

이 문제를 해결하려면 어떻게해야합니까? update() 방법으로 매번 해상도를 설정해야합니까?

+0

코드를'Initialize()'메소드로 옮기면 잘 동작합니다. 누군가 제가 여기서 잘못했는지 자세히 설명해 줄 수 있습니까? – Benjamin

답변

1

게임 생성자에 초기 해상도를 입력하십시오. 당신이 Initalize에 넣으면, 처음에는 시스템을 먼저 기본값으로 변경 한 다음에 다시 변경하십시오. 이 코드를 사용하면 시스템이 한 번만 해상도를 변경합니다. 코드는 없지만 다음과 같이 변경해야합니다.

public Game1() 
{ 
    graphics = new GraphicsDeviceManager(this); 
    graphics.PreferredBackBufferHeight = 600; 
    graphics.PreferredBackBufferWidth = 800; 
    // graphics.ApplyChanges(); <-- not needed 
} 

그런 다음 나중에 변경하려면 업데이트 기능을 넣으십시오.

protected override void Update(GameTime gameTime) 
{ 
    if(changeresolution){ 
     graphics.PreferredBackBufferHeight = 1600; 
     graphics.PreferredBackBufferWidth = 1800; 
     graphics.ApplyChanges(); 
     changeresolution = false; 
    } 
} 
관련 문제