等待Unity中的文件加载

时间:2016-12-23 07:22:30

标签: c# unity3d

如何从其他方法加载和返回文件(使用WWW)? 我想做下一步:

  1. 方法GetSettings()。下载文件文本,解析json和 返回结果。
  2. Start()调用方法并等待GetSettings()返回结果。
  3. 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

看起来您想要下载数据然后等待下载完成然后下载其他数据。如果这是真的,您可以在下面的代码下载数据2次。您可以通过增加REQ_AMOUNT值来增加次数。

它使用yield return StartCoroutine等待当前的协同程序函数在再次运行之前返回。

IEnumerator Start()
{

    int REQ_AMOUNT = 2;

    for (int i = 0; i < REQ_AMOUNT; i++)
    {
        yield return StartCoroutine(GetSettings());
    }
}

IEnumerator GetSettings()
{
    string url = RoomSettings.AbsoluteFilenamePath;

    if (Application.isEditor)
    {
        url = "file:///" + url;
    }

    var www = new WWW(url);
    yield return www;
    // Do some code, when file loaded
}