1: UGUI を作成する
まず、LoginCanvas ログイン パネルの下に LoadScreen という名前のパネルを作成し、次に、loadScreen の下に Image コンポーネントを作成して背景画像を配置します。次に、lpadScreen の下にスライダーを作成し続けます。これはプログレス バーの読み込みに使用されます。名前を LoadSlider に変更しました。なぜ名前を変更する必要があるのでしょうか? 名前を変更する必要があるのは、いずれかの名前に会うためであり、しばらくしても忘れないようにするためです。何パーセントなど、進行状況バーの対応するテキストをロードする必要がある場合。次に、以下の Text テキスト コンポーネントも作成する必要があります。
2: UGUI でコンポーネントを設定する
1. 画像コンポーネントの設定
2. LoadSliderプログレスバーコンポーネントの設定
プログレス バーの方向は通常、デフォルトで左から右です。もちろん、他のスタイルも設定できます。次の値の値は、プログレス バーをスライドさせるために使用されます。値の値が変更されると、プログレス バーも変更され、それらの値も変更されます。は同等です。
塗りつぶし領域に設定した色は、プログレスバーの読み込み色と同じ赤です。上図で述べたように、赤に設定したため、読み込みプログレスバーは赤で塗りつぶされます。上記の色に対応する色を自分で選択してください。
これはHandleであり、次の図に示すように、プログレス バーの動きの符号に相当します。必要ない場合は、Handle コンポーネントを無効にするか、自分で削除できます。下の画像はローディング画像を使用しているため、ローディングアイコンがあります。アイコンの位置は、下の図でマークされています。
3. LoadText はテキスト コンポーネントの設定を読み込みます。
LoadSlider ロード進行状況バー コンポーネントで設定するため、設定したアンカー ポイントを中央に配置し、LoadTextロード テキスト コンポーネントのサイズを調整し、テキスト入力領域に 0% を入力し、さまざまなフォントやスタイル、サイズを調整します。配置と色。
4: 空のオブジェクトを作成する
空のオブジェクトを作成した後、ロード シーンを管理するために特別に使用される LoadManager という名前を付けました。
5: コードの実装
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LoadManager : MonoBehaviour { // Start is called before the first frame update //加载调过程显示内容 public GameObject LoadScreen; //加载条 public Slider LoadSlider; //进度条文本显示 public Text LoadText; public void LoadNextScene() { //默认为0 LoadSlider.value = 0; //开启协程 StartCoroutine(LoadScene()); //开启加载过程内容 LoadScreen.SetActive(true); } // Update is called once per frame IEnumerator LoadScene() { //异步加载下一个场景 AsyncOperation operation = SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().buildIndex + 1); //不要直接跳转到下一个场景 operation.allowSceneActivation = false; //如果加载没有完成 while (!operation.isDone) { //加载小于百分之90 if(operation.progress < 0.9f) { LoadSlider.value = operation.progress; if(operation.progress==0.5f) yield return new WaitForSeconds(1); } else { //大于百分之90直接默认加载完成 LoadSlider.value = 1.0f; } //显示文本 转换成整数 LoadText.text = (int)(LoadSlider.value * 100) + "%"; if (LoadSlider.value >= 0.9) { //播放音效 // LoadAudioSource.Play(); //加载场景 operation.allowSceneActivation = true; } yield return null; } } }
6: Unity エンジンに戻る
7:効果を実感する
Unity はシーンを非同期でロードします
最終的な答え:
なぜ非同期読み込みを使用するのでしょうか?
非同期の利点: 高速で、メインスレッドから独立しています。
短所: リソースがいつ準備できるかわからないため、呼び出しはさらに面倒です。最良の方法は、コールバックを使用することです。そのため、コールバックが大量に発生し、煩雑で、個人的には管理が不快に感じます。
非同期読み込みを使用すると、より美しく、少し高度な感じがします。同期読み込みは自動的に読み込まれます。速度は非同期ほど速くありませんが、管理は簡単です。