get_open_filename_ext

这个函数打开一个对话框,要求玩家用给定的过滤器打开一个文件名。

过滤器的形式是 "name1|mask1|name2|mask2|…"",
其中掩码可以包含不同的选项,它们之间用分号分隔,您也可以使用 "*" 表示任何字符串。

例如 :" 位图 |*.bmp;*.wmf",会要求用户从系统中选择位图文件的名称,
但只能选择那些具有两个指定扩展名 (bmppng) 的位图文件。

这个函数 不会 打开文件本身 ! 它只返回一个包含文件全名和路径的字符串。
如果用户按 " 取消 ",则返回空字符串 ""。

在使用此函数时需要注意的一点是,它授予您在游戏期间对该文件的某些权限。
因此,一旦您从用户那里获得了文件路径,您就可以一次又一次地访问它,而不必询问。
但是,由于此函数用于读取文件,所以授予的权限 仅用于读取 ,操作系统不允许保存。
如果需要读写文件,可以使用函数 get_save_filename() 获得权限。

注意 : 此函数仅对 Windows 和 macOS 目标有效。

 

语法:

get_open_filename_ext(filter, fname, directory, caption);

参数类型描述
filterString文件类型筛选器和/或名称。
fnameString建议使用的文件名。
directoryString开始搜索的目录。
captionString窗口的标题。

 

返回:

String

 

例子:

var file;
file = get_open_filename_ext("text file|*.txt", "", working_directory, "Open a saved level");
if (file != "")
{
    file_text_open_read(file);
}

上面的代码将要求用户选择一个文本文件,以便从 working_directory 打开,
然后检查返回的文件名和路径,如果存在,将打开该文件进行读取。