当前位置:   article > 正文

场景异步切换_unity 删除 asyncoperation

unity 删除 asyncoperation
  1. 命名空间
    UnityEngine.SceneManagement
  2. 同步切换缺点
    删除上一个场景的所有对象,加载下一个场景的相关信息
    若场景内容过多 会出现卡顿
  3. 异步加载
    AsyncOperation async=SceneManager.LoadSceneAsync(场景名称);
    async.complete+=LoadOver;//异步加载结束后调用
    void LoadOver()
    {
    print(“完成”);
    }
  4. 协程异步加载
    注意:场景切换 场景中的对象都会被删除
    对象销毁 协程函数会关闭
    IEnumator LoadScene()
    {
    //异步加载中
    AsyncOperation async=SceneManager.LoadSceneAsync(场景名称);//没有马上加载到指定场景
    yield return async;//等待加载完成后执行下面的函数
    注意:加载完成后如果该脚本依附的游戏对象销毁 不执行下面的代码
    可以使用DontDestroyOnLoad方法解决
    //异步加载结束
    }
    IEnumator LoadScene()
    {
    //异步加载中
    AsyncOperation async=SceneManager.LoadSceneAsync(场景名称);//没有马上加载到指定场景
    //更新进度条
    利用场景异步加载的进度更新 不准确
    while(!async.isDone)//循环结束 加载完成
    {
    print(async.progress);//打印进度
    yield return null;//等待一帧
    }
    }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/332756
推荐阅读
相关标签
  

闽ICP备14008679号