unity 异步进度条(流畅版)

本文详细介绍了一种在Unity中实现场景渐进加载的方法,通过使用IEnumerator和AsyncOperation结合,可以平滑地显示加载进度,避免游戏启动时的长时间黑屏,提升用户体验。
private IEnumerator StartLoading(int scene) 
{
    int displayProgress = 0;
    int toProgress = 0;
    AsyncOperation op = Application.LoadLevelAsync(scene);
    op.allowSceneActivation = false;
    while(op.progress < 0.9f)    
    {
        toProgress = (int)op.progress * 100;
        while(displayProgress < toProgress)     
        {
            ++displayProgress;
            SetLoadingPercentage(displayProgress);
            yield return new WaitForEndOfFrame();    
        }
    }

    toProgress = 100;
    while(displayProgress < toProgress)    
    {
        ++displayProgress;
        SetLoadingPercentage(displayProgress);
        yield return new WaitForEndOfFrame();
    }

    op.allowSceneActivation = true;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值