ローカルイメージを非同期に読み込みたいのですが、 "sprite.create"に時間がかかり、UIが停止します。これをどうすれば解決できますか?ローカルイメージを非同期にロードするにはどうしたらいいですか?
WWW www = new WWW (filePath);
yield return www;
Texture2D texture = new Texture2D(4, 4, TextureFormat.ARGB32, true);
www.LoadImageIntoTexture(texture);
www.Dispose();
www = null;
curTexture = texture;
img.sprite = Sprite.Create (curTexture, new Rect (0, 0, curTexture.width, curTexture.height), new Vector2 (0.5f, 0.5f));
アップデート2016年8月26日:
私はスプライトにテクスチャを変更する必要があるイメージを使用するのではなく、テクスチャを設定するためにRawImageを使用しました。
もう1つの質問は、www.LoadImageIntoTextureも非常に時間がかかることです。以前はwww.textureを使っていましたが、青い画像を表示するアンドロイドデバイスからPNGを読み込めなかったことがわかりました。
このコードがどのように内部にあるかを示してください。 –
また、 'Texture2D texture = ...'行を取り除き、 'curTexture = www.texture;'を実行することを検討しましたか? –
UI.Imageの代わりにUI.RawImageを使用して、[RawImage.texture](http://www.Image.com)に[WWW.texture](https://docs.unity3d.com/ScriptReference/WWW-texture.html) /docs.unity3d.com/ScriptReference/UI.RawImage-texture.html) – JeanLuc