스크린샷 저장 기능 설명
screen_save
함수는 현재 게임 창에 표시되고 있는 화면을 스크린샷으로 저장하는 기능을 제공합니다. 이 파일은 게임의 작업 디렉토리에 저장되며, Windows에서는 <drive>:/Users/YOURUSERNAME/AppData/Local/[게임 이름]/
에, Mac에서는 ~/Library/Application Support/[게임 이름]/
에 위치합니다. 캡처된 이미지는 게임의 애플리케이션 표면의 최종 렌더링 결과이며, 애플리케이션 표면이 비활성화된 경우 전체 디스플레이 또는 창의 이미지가 저장됩니다.
이 함수는 Draw GUI End Event
에서 호출하는 것이 중요하며, 이는 모든 플랫폼에서 일관된 결과를 제공합니다. 다른 이벤트에서 사용하면 예상과 다르게 작동할 수 있으며, 다양한 타겟 및 장치에서 다른 결과를 초래할 수 있습니다. 저장할 내용에 대한 더 많은 제어가 필요하다면 screen_save_part()
함수를 사용해야 합니다.
참고: 이 함수는 HTML5 타겟에서는 작동하지 않습니다.
문법
screen_save(fname);
인자 설명
인자 이름 | 타입 | 설명 |
---|---|---|
fname | String | 저장할 스크린샷의 파일 이름 |
반환값
- N/A
예제
if (keyboard_check_pressed(ord("S"))) {
screen_save(working_directory + "Screens\Screen_" + string(num++) + ".png");
}
위 코드는 사용자가 "S" 키를 누를 때 게임의 스크린샷을 찍고, 특정 디렉토리에 저장하며, 변수를 사용하여 번호를 매깁니다.
활용 예제
1. 게임 이벤트에 따라 스크린샷 저장
if (event_type == ev_mousebuttonup) {
screen_save(working_directory + "Screens\MouseClick_" + string(num++) + ".png");
}
- 마우스 버튼이 클릭될 때마다 스크린샷을 저장합니다.
2. 특정 조건에서 스크린샷 저장
if (player_health <= 0) {
screen_save(working_directory + "Screens\GameOver_" + string(num++) + ".png");
}
- 플레이어의 체력이 0 이하가 될 때 게임 오버 화면을 저장합니다.
3. 특정 키 조합으로 스크린샷 저장
if (keyboard_check_pressed(ord("C")) && keyboard_check(ord("L"))) {
screen_save(working_directory + "Screens\Combo_" + string(num++) + ".png");
}
- "C"와 "L" 키를 동시에 누를 때 스크린샷을 저장합니다.
4. 게임 종료 시 스크린샷 저장
if (game_is_over) {
screen_save(working_directory + "Screens\FinalScreen_" + string(num++) + ".png");
}
- 게임이 종료될 때 마지막 화면을 저장합니다.