Unity3D自学笔记——架构应用(五)Loading场景及持久化场景

Loading场景及持久化场景


Loading场景

每次切换场景时首先异步加载Loading,再通过Loding异步加载指定的场景

目录结构
这里写图片描述

UI组件情况
UI_Loding->UIInfo
UIScene_Loading->UILoading

分析
每次切换场景由Loading进行异步加载场景,并将加载的进度,返回给Slider,显示加载的进度

实现
这里没有用UIScene,因为场景够简单够单纯,用也可以,但是要去UIManager里面增加初始化UIScene显示的代码

public class UILoading : MonoBehaviour {
    private Slider m_Progress;
    AsyncOperation m_Async;

    //为了开启协程,所以使用IEnumerator
    IEnumerator Start()
    {
        m_Progress = UIHelper.FindChild<Slider>(transform, "Slider");
        m_Async = SceneManager.LoadSceneAsync(UIHelper.LoadSceneName);
        yield return m_Async;
    }

    void Update()
    {
        m_Progress.value = m_Async.progress;
    }
}

持久化场景 GameMain

GameMain两个功能
持久化数据管理,不受场景的切换而销毁
管理场景切换

目录结构
这里写图片描述

组件情况
GameMain -> GameMain
PhotonManager ->PhotonManager

分析
持久化即使用DontDersoryOnLoad,该GameObject不因为切换场景而销毁。我们把经常使用的,又不易更改的,又费性能的放在里面。如我们的P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值