zoukankan      html  css  js  c++  java
  • Unity 异步加载场景

    效果图如下:

    1

    今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画!

    A 场景到 B ,  看见网上的做法都是 A –> C –> B。  C场景主要用于异步加载B 和 播放一些加载场景的动画

    AsyncOperation op = Application.LoadLevelAsync("C");   异步加载C场景

    op.allowSceneActivation = false; 加载完毕之后不自动跳转到B场景(在加载结束的时候,就可以播放一些加载完毕的动画) 播放完动画时候

    op.allowSceneActivation = true; 就能进入B场景了O(∩_∩)O~

    op.progress;  获取异步加载场景实际的进度值(0-1)

    using UnityEngine;
    using System.Collections;
    
    public class LoadSceneB : MonoBehaviour {
    
    
        public UISlider slider;         //进度条
    
        void Start () {
            LoadGame();
        }
        
        public void LoadGame() {
            StartCoroutine(StartLoading("C"));
        }
    
        public IEnumerator StartLoading(string sceneName) 
        {
            AsyncOperation op = Application.LoadLevelAsync(sceneName);
            op.allowSceneActivation = false;
    
    
            /* 实际根据场景加载的进度,来显示进度
            while(op.progress < 0.9f)
            {
                slider.value = op.progress;             //实际加载场景的进度值显示在Slider里面
                yield return new  WaitForEndOfFrame();
            }*/
    
    
            //由于C场景只有一张图加载太快了,以下代码就模拟下加载
            for (int i = 0; i < 100; i++)
            {
                slider.value = i / 100f;
                yield return new WaitForSeconds(0.01f);
            }
    
            slider.value = 1;
            yield return new WaitForEndOfFrame();
            op.allowSceneActivation = true;   
    
        }
    
    }

    源代码:http://yunpan.cn/cf4uz69Ffmbyc  提取码 c8f3

    原文地址:http://blog.csdn.net/huang9012/article/details/38659011 (还介绍如何慢慢的让进度加载100情况)

    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    汇付 支付,痛苦的接入过程
    路由集合中已存在名为“ XXXX” 的路由
    博客目录
    (转载)为什么使用APP Bundle
    安卓基础:后台任务
    安卓基础:应用权限
    安卓资源的使用 二
    kotlin学习三:lambda 和内联函数
    kotlin学习二:函数
    kotlin学习一:基础语法
  • 原文地址:https://www.cnblogs.com/plateFace/p/4183700.html
Copyright © 2011-2022 走看看