get_open_filename_ext 함수 설명
mask1 | name2 | mask2 | ...". 여기서 마스크는 세미콜론으로 구분된 여러 옵션을 포함할 수 있으며, "*"를 사용하여 모든 문자열을 의미할 수 있습니다. 예를 들어, "bitmaps |
---|---|---|---|
이 함수는 파일을 실제로 열지 않고, 파일의 전체 이름과 경로를 포함한 문자열을 반환합니다. 사용자가 "취소"를 누르면 빈 문자열 ""
이 반환됩니다. 또한 검색을 시작할 디렉토리와 기본 제목 대신 표시할 캡션을 추가할 수 있습니다.
이 함수를 사용할 때 중요한 점은 게임이 실행되는 동안 해당 파일에 대한 특정 권한이 부여된다는 것입니다. 즉, 사용자가 파일 경로를 제공하면, 이후에는 다시 요청하지 않고도 해당 파일에 접근할 수 있습니다. 그러나 이 함수는 파일을 읽기 위한 것이므로, 운영 체제에서 저장 권한은 허용되지 않습니다. 파일을 읽고 쓸 필요가 있는 경우, get_save_filename()
함수를 사용하여 권한을 얻을 수 있습니다.
문법
get_open_filename_ext(filter, fname, directory, caption);
매개변수 설명
매개변수 | 유형 | 설명 |
---|---|---|
filter | 문자열 | 파일 유형 필터 및/또는 이름. |
fname | 문자열 | 제안된 파일 이름. |
directory | 문자열 | 검색을 시작할 디렉토리. |
caption | 문자열 | 대화 상자의 제목. |
반환값
- 선택된 파일의 전체 경로 문자열. 사용자가 "취소"를 누르면 빈 문자열을 반환합니다.
예제 코드
var file;
||
||
if (file != "") {
file_text_open_read(file);
}
위 코드는 사용자가 working_directory
에서 열기 위한 텍스트 파일을 선택하도록 요청하고, 반환된 파일 이름과 경로를 확인한 후, 파일이 존재하면 읽기 위해 파일을 엽니다.
활용 예제
- 이미지 파일 열기
gml var image_file; || || if (image_file != "") { var img = sprite_add(image_file, 1, false, false, 0, 0); }
- CSV 파일 열기
gml var csv_file; || || if (csv_file != "") { var data = csv_read(csv_file); }
- 텍스트 파일 열기
gml var text_file; || || if (text_file != "") { var content = file_text_open_read(text_file); }
- 스크립트 파일 열기
gml var script_file; || || if (script_file != "") { var script_content = file_text_open_read(script_file); }
- 오디오 파일 열기
gml var audio_file; || || if (audio_file != "") { audio_play_sound(audio_file, 1, false); }