<span style="color:#3333ff">加载游戏场景,首先要引入场景管理的命名空间:using UnityEngine.SceneManagement; 而后在调用你须要加载的游戏场景在SceneManage.LoadScene(); 这个方法是有四种重载的 </span>
using UnityEngine.SceneManagement; //记住必定要引入场景管理的命名空间 public class Scene : MonoBehaviour { void Start () { } void Update () { } public void Scene() { SceneManager.LoadScene(0);//加载索引值是0的游戏场景 } } using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; //记住必定要引入场景管理的命名空间 public class Scene : MonoBehaviour { void Start () { } void Update () { } public void Scene() { SceneManager.LoadScene(0);//加载索引值是0的游戏场景 } }
LoadSceneMode:加载场景的模式异步
下面是我学习的异步加载场景的学习路程,我只是记录本身的学习过程,小白一个,若是有不对的地方还但愿你们能够指出,我必定认真学习。学习
using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LoadScence1 : MonoBehaviour { public Image imageProcress;//滚动条 public Text imageText;//进度显示文本 private int processNumber;//临时存储进度用来控制进度条的滑动,由于本身定义能够从零开始可控制 private int currentProcessNumber;//最终text文本显示的数字 public AsyncOperation result;//加载结果 void Start ()
{ StartCoroutine(LoadScene()); //调用接口 } void Update () { if (result == null)//确保必定得到加载结果,其实加不加均可以可是要保持逻辑的严谨性 { return; } //数据在加载到90%的时候,暂停了。使用临时变量来存储内部数据加载结果。以90%做为分界点,分开处理 if (result.progress < 0.9f) //0.9f须要加f不加的话processNumber的值一直是0 { processNumber = (int)result.progress * 100; } else { processNumber = 100; } if (currentProcessNumber < processNumber) { currentProcessNumber++; imageText.text = currentProcessNumber + "%";//显示数字 imageProcress.fillAmount = currentProcessNumber / 100f;//保持进度条同步滚动 } if (currentProcessNumber == 100) { result.allowSceneActivation = true;//内部数据的加载和外部数据显示 同步的时候,要加载的场景被激活 } } //接口的使用 IEnumerator LoadScene() { result = SceneManager.LoadSceneAsync("BagSystem2");//异步加载场景而后他返回一个值,这个值能够用来给Progress赋值,这个值能正好在0-1之间 //allowSceneActivation意思就是尽快的显示下一个场景 result.allowSceneActivation = false;//不激活下一个场景,意思就是其实当进度条加载到90%的时候就直接跳转到了游戏场景,90%-100%是不显示的 //可是这样不符合常理,咱们要让进度条走完须要手动控制,不让他自动加载 yield return null;//返回结果 } }