get_open_filename 함수 설명
mask1 | name2 | mask2 | ..." 형식으로 작성되며, 마스크는 세미콜론으로 구분된 여러 옵션을 포함할 수 있습니다. 또한 "*"를 사용하여 모든 문자열을 의미할 수 있습니다. 예를 들어, "bitmaps |
---|---|---|---|
이 함수는 파일을 실제로 열지 않습니다! 대신, 파일의 전체 이름과 경로를 포함한 문자열을 반환합니다. 사용자가 "취소"를 누르면 빈 문자열("")이 반환됩니다.
이 함수를 사용할 때 주의할 점은, 게임이 실행되는 동안 해당 파일에 대한 특정 권한이 부여된다는 것입니다. 즉, 사용자가 파일 경로를 제공하면, 이후에는 다시 요청하지 않고도 해당 파일에 접근할 수 있습니다. 그러나 이 함수는 파일을 읽기 위한 것이므로, 부여된 권한은 읽기 전용이며, 운영 체제에서 저장은 허용되지 않습니다. 파일을 읽고 쓰려면 get_save_filename()
함수를 사용하여 권한을 얻어야 합니다.
문법
get_open_filename(filter, fname);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
filter | 문자열 | 파일 유형 필터 및/또는 이름 |
fname | 문자열 | 제안된 파일 이름 |
반환값
- 선택된 파일의 전체 경로 문자열
- 사용자가 "취소"를 누른 경우 빈 문자열
예제
var file;
||
||
if (file != "") {
file_text_open_read(file);
}
위 코드는 사용자에게 텍스트 파일을 선택하도록 요청하고, 반환된 파일 이름과 경로를 확인한 후, 파일이 존재하면 읽기 위해 파일을 엽니다.
활용 예제
- 이미지 파일 열기
gml var imageFile; || || if (imageFile != "") { var img = sprite_add(imageFile, 1, false, false, 0, 0); }
- 오디오 파일 열기
gml var audioFile; || || if (audioFile != "") { audio_play_sound(audioFile, 1, false); }
- CSV 파일 열기
gml var csvFile; || || if (csvFile != "") { var data = csv_read(csvFile); }
- 텍스트 파일 열기
gml var textFile; || || if (textFile != "") { var content = file_text_open_read(textFile); }
- 다양한 파일 형식 열기
gml var anyFile; || || if (anyFile != "") { // 파일 처리 로직 }