2016-12-23 17 views
0

別の方法(WWWを使用)からファイルをロードして返す方法は? 私は次に何をしたい:Unityでファイルが読み込まれるのを待つ

  1. 方法GetSettings()。ファイルのテキストをDonwnloadし、jsonを解析して の結果を返します。
  2. 開始()から呼び出し、GetSettings()戻り値を返します。

どうすればいいですか?

+0

あなたの質問はありますか? – Programmer

+0

ファイルの内容を静的メソッドとして受け取りたい。どのようにそのような方法を作る? – Vostrugin

答えて

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 
} 
+0

'戻り値StartCoroutine(GetSettings()); Debug.log( "ok"); ' GetSettings()でファイルをダウンロードした後にDebug.Log()を呼び出しますか? – Vostrugin

+0

GetSettings()は、実行が終了した後に再び呼び出されます。 – Programmer

関連する問題