2012-02-19 5 views
2

SDL을 조금 사용한 후에 작은 문제가 있음을 발견했습니다. 전체 화면으로 비디오 모드를 설정하는 경우 : 플래그로SDL 해상도 문제

screen = SDL_SetVideoMode(WIDTH,HEIGHT,BITDEPTH,FLAGS); 

: 그것은해야처럼

const Uint32 Graphics::FLAGS = SDL_HWSURFACE | SDL_DOUBLEBUF |SDL_FULLSCREEN; 

화면이 전체 화면으로 간다. 하지만 게임이 끝나면 모니터의 해상도는 게임 전의 상태로 돌아가는 대신 게임의 해상도 (내 경우 800x600)를 유지합니다. 코드 와이즈로 해결할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

+0

문제를 재현하는 작은 예제를 게시 할 수 있습니까? – jrok

+0

예, 잠시만 기다려주세요 (이 문제가있는 프로젝트는 다소 큽니다). – Shalmezad

+0

작은 예제를 시도 할 때 문제점을 발견했습니다. SDL의 정리 작업 (예 : 해결 방법 수정)을 실행하지 않고 프로그램이 "깔끔하게"종료된다는 것을 의미하는 SDL_Quit()를 포함하는 것을 잊었습니다. 내 자신의 답변으로 쓰겠지만 7 시간 동안 나를시키지 않을 것입니다. 복사하여 붙여 넣기 만하면됩니다. 도움에 감사드립니다! – Shalmezad

답변

1

처리가 끝났음을 선언하고 그렇지 않은 경우 SDL_Quit() 또는 SDL_FreeSurface()와 같은 블록의 데이터로 메모리를 확보해야합니다.