window_set_size 함수 설명
window_set_size
함수는 게임 창의 크기를 변경하는 데 사용됩니다. 데스크탑 플랫폼에서는 일반적으로 창의 클라이언트 영역을 의미하며, 제목 표시줄과 테두리는 제외됩니다.
이 함수를 사용하여 게임 창의 크기를 변경하면, 창의 내용은 배경 캔버스에 맞춰 1:1 비율로 스케일링됩니다. 이는 이미지가 선명하고 깨끗하게 유지된다는 것을 의미합니다. 그러나 창의 크기가 방이나 뷰의 크기와 다를 경우, 이미지가 스케일되더라도 1:1 비율이 유지됩니다.
예를 들어, 200 x 150 픽셀 크기의 창이 있을 때, 플레이어가 테두리를 드래그하여 창을 늘리면 최종 창 크기는 400 x 300 픽셀이 될 수 있습니다. 그러나 그리기 캔버스는 여전히 200 x 150 픽셀로 유지되므로, 픽셀 비율이 1:2가 되어 이미지가 흐릿해질 수 있습니다. 하지만 이 함수를 사용하여 창 크기를 변경하면 1:1 비율이 유지됩니다.
문법
window_set_size( w, h );
매개변수 설명
매개변수 | 유형 | 설명 |
---|---|---|
w | 숫자 | 새 창의 너비 |
h | 숫자 | 새 창의 높이 |
반환값
N/A
예제
if (mouse_check_button_pressed(mb_left)) {
global.scale += 1;
window_set_size(200 * global.scale, 150 * global.scale);
}
위 코드는 마우스 버튼이 눌렸을 때 변수 "global.scale"의 값에 따라 창의 크기를 변경합니다.
활용 예제
- 창 크기 조정
gml window_set_size(800, 600);
- 비율 유지
gml if (some_condition) { window_set_size(1024, 768); }
- 사용자 정의 크기 조정
gml var new_width = 640; var new_height = 480; window_set_size(new_width, new_height);
- 게임 시작 시 창 크기 설정
gml window_set_size(1280, 720);
- 창 크기 변경에 따른 UI 조정
gml if (window_get_width() > 800) { // UI 요소 크기 조정 }
- 다양한 해상도 지원
gml switch (current_resolution) { case "HD": window_set_size(1280, 720); break; case "Full HD": window_set_size(1920, 1080); break; }
이와 같이 window_set_size
함수를 활용하여 게임의 창 크기를 동적으로 조정할 수 있습니다.