file_find_next

此函数返回满足先前给定掩码和属性 (由 file_find_first() 定义) 的下一个文件的名称。如果不存在此类文件,则返回空字符串。

警告 由于 GameMaker 处于沙盒状态,这可能无法按您的预期工作!请参阅有关 文件系统 的部分了解更多信息。

注意 此函数适用于所有 C++ 目标平台 (Windows、Mac、iOS、Android),但过滤器标志仅适用于 Windows。

 

语法:

file_find_next();

 

返回:

String

 

例子:

if (directory_exists("\User Content"))
{
    fileA = file_find_first("/User Content/*.doc", fa_readonly);
    fileB = file_find_next();
    fileC = file_find_next();
    file_find_close();
}

此代码检查指定的目录是否存在,如果存在,则返回第一个找到的“只读”.doc 文件。
然后查找另外两个文件并关闭文件查找器。

您可以使用 while 循环查找任意数量的文件:

var files = [];
var file_name = file_find_first("/User Content/*.doc", fa_readonly);

while (file_name != "")
{
    array_push(files, file_name);

    file_name = file_find_next();
}

file_find_close();

上面的代码创建一个空数组来存储所有找到的文件名,然后开始只读 .doc 文件。
如果该文件名不是空字符串,则将其推送到 files 数组中,然后尝试查找下一个文件。
循环将一直重复,直到找到一个空字符串 (意味着没有更多匹配的文件) ,这是当它结束循环并关闭文件查找器在结束。