2016-04-04 8 views
0

私は統一シーンを持っています。 httpリクエストを使用してイメージを取得し、2秒ごとに表示します。これらの画像の順序は重要です。だから、プログラムのステップ:httpリクエストを含むcoroutineの使い方は?

  1. httpリクエストを使用して画像を取得
  2. はそれを表示、インデックスカウンタを更新
  3. ゴーステップ1

に私のコードはここにある:

int counter = 0; 
    float tempTimeLimit = 0; 

    void Update() 
    { 
     if (tempTimeLimit > 1) 
     { 
      // Decrease timeLimit. 
      tempTimeLimit -= Time.deltaTime; 
     } 
     else 
     { 
      StartCoroutine(_Refresh()); 
      tempTimeLimit = timeLimit; 
     }  
    } 

    IEnumerator _Refresh() 
    { 
     if (counter < 19) 
     { 
      counter += 1; 
      ......  
      var req = new WWW(url); 

      yield return req; 

      byte[] data = req.texture.EncodeToPNG(); 
      File.WriteAllBytes(Application.dataPath + "/../" + counter + ".png", data); 

      GetComponent<Renderer>().material.mainTexture = req.texture; 

     } 
    } 

私は19のpngファイルがあると思います。しかし、私はわずか8-9-10のファイルを参照してください。 Unity documentationと言うと

これは、コルーチンが実行を終了するまで待機します。

私のコードはうまくいくはずですが、そうではないと思います。

EDIT

私はフラグとして変数を定義します。私はそれを初期化し、それを制御して待っています。わたしにはできる。

+0

あなたは19のpngファイルが必要だと言ったので、イメージを取得して19秒に2秒ごとに表示する必要がありますか?これらの画像は同じリンクか、同じ画像を19回ダウンロードしていますか?あなたは何をしようとしているのですか? – Programmer

+0

これは私の人生で見た中で最も奇妙なコードです – Fattie

+0

**重要**あなたは絶対に** Application.persistentDataPath **を使用する必要があります。これは、Unityについては非常に混乱します。 (1)あなたは - 常に - どこでも - - ** Application.persistentDataPath **を使用しなければなりません**それにもかかわらず(2)Unityはドコの他のパスについて言及します。しかし、(3)**ポイント1 **を見てください。 – Fattie

答えて

0

これはいくつかの観点からは間違っていますが、最も重要なことは、特定の時間に画像を取得することが保証されていないことです。

void Start() 
    { 
     StartCoroutine(_Refresh()); 
    } 

    IEnumerator _Refresh() 
    { 
     counter = 0; 
     while (counter < 19) 
     { 
      counter += 1; 
      ......  
      var req = new WWW(url); 

      yield return req; 

      byte[] data = req.texture.EncodeToPNG(); 
      File.WriteAllBytes(Application.dataPath + "/../" + counter + ".png", data); 

      GetComponent<Renderer>().material.mainTexture = req.texture; 

     } 
    } 
+0

スタート機能のみを実行するには不十分です。実行時に何度も必要です。 – zumma

関連する問題