Unity5 Personalでは、Unity4まではPro版のみ使用可能だった機能が使用できるようになっています。
今回はそれらの機能の一つ、非同期ロードを使用してシーン間のローディング画面を作りたいと思います。
例によって参考ページを挙げておきます。
ローディング中は進捗バーとテキストによって状況を表示します。
進捗バーはImage TypeをFilled、Horizontalに設定しています。
完了を待って処理をしたかったのでロード完了を待とうとしたところ、上記参考ページの二つ目に記載されているように、async.isDoneにならずに0.9までしか進まないという状態になりました。
原因はよくわかりませんが、参考ページと同じく0.9でループを抜けるという強引な解決方法をとっています(シーンのロード自体は問題なく行われます)。
原因はよくわかりませんが、参考ページと同じく0.9でループを抜けるという強引な解決方法をとっています(シーンのロード自体は問題なく行われます)。
よくわかりませんし、動けばいい派なのであまり気にしないことにします…(^_^;)
IEnumerator LoadScene(){ AsyncOperation async = Application.LoadLevelAsync("Game"); async.allowSceneActivation = false; // シーン遷移をしない while (async.progress < 0.9f) { Debug.Log(async.progress); loadingText.text = (async.progress * 100).ToString("F0") + "%"; loadingBar.fillAmount = async.progress; yield return new WaitForEndOfFrame(); } Debug.Log("Scene Loaded"); loadingText.text = "100%"; loadingBar.fillAmount = 1; yield return new WaitForSeconds(1); async.allowSceneActivation = true; // シーン遷移許可 }
シーンのロードが完了してから1秒後に遷移を行なっています。
動画にしてみましたが、実機ではないので読込が一瞬で終わってますね(^_^;)
スプラッシュやタイトルなどは一応完成ということで、現在の完成度は80%くらい…というところです!
コメント
コメント一覧 (4)
楽しみにしてます。
当初の予定よりもかなりかかってしまいましたが、あと少しで出来上がるので、きちんと面白いものになるように調整したいと思います(´・∀・)ノ
いやぁ、コメントをいただいていたなんて、返事が遅くなり申し訳ありませんでした。
「うーん、筆がすすまんな…よし『ワーズ・アンド・マジック』やるか」
って感じで、いまだフリック入力の練習に使わせてもらっております。
応援してます!コメント、ありがとうございました。
ご無沙汰しております!
その節は突然の書き込み失礼いたしました。
本当に拙いゲームではありますが、お楽しみいただけたなら幸いです。
またブログ拝見させていただきます!!