화면 부분 저장 함수 설명
이 문서에서는 게임의 현재 화면에서 일부를 스크린샷으로 저장하는 screen_save_part
함수에 대해 설명합니다. 이 함수는 게임 디스플레이의 절대 크기를 기준으로 선택한 좌표를 사용하며, (0,0)은 항상 화면(또는 전체 화면이 아닐 경우 창)의 왼쪽 상단 모서리를 나타냅니다.
기능 설명
- 저장 위치: 스크린샷은 게임의 작업 디렉토리에 저장됩니다.
- 호출 위치: 이 함수는
Draw GUI End Event
에서 호출되어야 하며, 다른 이벤트에서 사용할 경우 예상치 못한 결과가 발생할 수 있습니다. - HTML5 지원: 이 함수는 HTML5 타겟에서는 작동하지 않습니다.
문법
screen_save_part(fname, x, y, w, h);
매개변수 설명
매개변수 이름 | 타입 | 설명 |
---|---|---|
fname | 문자열 | 저장할 스크린샷의 파일 이름 |
x | 정수 | 캡처할 화면 영역의 왼쪽 상단 모서리의 x 좌표 |
y | 정수 | 캡처할 화면 영역의 왼쪽 상단 모서리의 y 좌표 |
w | 정수 | 캡처할 화면 영역의 너비 |
h | 정수 | 캡처할 화면 영역의 높이 |
반환값
이 함수는 반환값이 없습니다.
활용 예제
아래 코드는 사용자가 "S" 키를 누를 때 게임 화면의 100x100 픽셀 크기 부분을 스크린샷으로 저장하는 예제입니다.
if (keyboard_check_pressed(ord("S"))) {
screen_save_part("Screens/Screen_" + string(num++) + ".png", 0, 0, 100, 100);
}
이 코드는 스크린샷을 특정 폴더에 저장하고, 변수 num
을 사용하여 파일 이름에 번호를 매깁니다.
추가 활용 예제
- 다양한 크기 캡처: 사용자가 선택한 영역을 캡처할 수 있도록 좌표와 크기를 변수로 설정하여 동적으로 조정할 수 있습니다.
var capture_x = mouse_x - 50;
var capture_y = mouse_y - 50;
var capture_width = 100;
var capture_height = 100;
screen_save_part("Screens/Screen_" + string(num++) + ".png", capture_x, capture_y, capture_width, capture_height);
- 다양한 파일 형식 저장: 파일 이름에 확장자를 다르게 하여 여러 형식으로 저장할 수 있습니다.
var file_format = ".jpg"; // 또는 ".bmp", ".png"
screen_save_part("Screens/Screen_" + string(num++) + file_format, 0, 0, 200, 200);
- 조건부 캡처: 특정 조건이 충족될 때만 스크린샷을 저장하도록 설정할 수 있습니다.
if (game_state == "paused") {
screen_save_part("Screens/Paused_Screen_" + string(num++) + ".png", 0, 0, 300, 300);
}
이와 같은 방법으로 screen_save_part
함수를 활용하여 다양한 상황에서 스크린샷을 저장할 수 있습니다.