私は統一シーンを持っています。 httpリクエストを使用してイメージを取得し、2秒ごとに表示します。これらの画像の順序は重要です。だから、プログラムのステップ:httpリクエストを含むcoroutineの使い方は?
- httpリクエストを使用して画像を取得
- はそれを表示、インデックスカウンタを更新
- ゴーステップ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
私はフラグとして変数を定義します。私はそれを初期化し、それを制御して待っています。わたしにはできる。
あなたは19のpngファイルが必要だと言ったので、イメージを取得して19秒に2秒ごとに表示する必要がありますか?これらの画像は同じリンクか、同じ画像を19回ダウンロードしていますか?あなたは何をしようとしているのですか? – Programmer
これは私の人生で見た中で最も奇妙なコードです – Fattie
**重要**あなたは絶対に** Application.persistentDataPath **を使用する必要があります。これは、Unityについては非常に混乱します。 (1)あなたは - 常に - どこでも - - ** Application.persistentDataPath **を使用しなければなりません**それにもかかわらず(2)Unityはドコの他のパスについて言及します。しかし、(3)**ポイント1 **を見てください。 – Fattie