get_save_filename 함수 설명
mask1 | name2 | mask2 | ..." 형식으로 작성되며, 여기서 마스크는 세미콜론으로 구분된 여러 옵션을 포함할 수 있고, "*"를 사용하여 모든 문자열을 의미할 수 있습니다. 예를 들어, "bitmaps |
---|---|---|---|
이 함수는 실제로 파일을 저장하지 않으며, 파일의 전체 이름과 경로를 포함한 문자열만 반환합니다. 사용자가 "취소"를 누르면 빈 문자열("")이 반환됩니다.
이 함수를 사용할 때 중요한 점은 게임이 실행되는 동안 해당 파일에 대한 특정 권한이 부여된다는 것입니다. 따라서 사용자가 파일 경로를 제공하면, 이후에는 다시 요청하지 않고도 해당 파일에 접근할 수 있으며, 읽기 및 쓰기 권한이 모두 적용됩니다.
문법
get_save_filename(filter, fname);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
filter | 문자열 | 파일 형식 필터 및/또는 이름. |
fname | 문자열 | 제안된 파일 이름. |
반환값
- 선택된 파일의 전체 경로와 이름을 포함한 문자열.
- 사용자가 "취소"를 누르면 빈 문자열("").
예제 코드
var file;
||
||
if (file != "") {
screen_save(file);
}
위 코드는 사용자가 이미지 파일 이름을 선택하도록 요청하고, 반환된 파일 이름과 경로가 빈 문자열이 아닐 경우 스크린샷을 찍어 지정된 이름으로 저장합니다.
활용 예제
- 텍스트 파일 저장하기
gml var file; || || if (file != "") { var myText = "Hello, World!"; var fileHandle = file_open(file, file_write); file_write_string(fileHandle, myText); file_close(fileHandle); }
- 이미지 파일 저장하기
gml var file; || || if (file != "") { var img = sprite_get_texture(mySprite, 0); image_save(img, file); }
- 게임 설정 저장하기
gml var file; || || if (file != "") { var settings = json_encode(mySettings); var fileHandle = file_open(file, file_write); file_write_string(fileHandle, settings); file_close(fileHandle); }
- 오디오 파일 저장하기
gml var file; || || if (file != "") { audio_save(myAudio, file); }
이와 같은 예제들을 통해 get_save_filename
함수를 다양한 방식으로 활용할 수 있습니다.