异步加载场景2

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class Resoyurces : MonoBehaviour {
   //异步
    AsyncOperation scenasynce;
    /// <summary>
    /// 显示以下
    ///  dadasd
    ///  Target_value
    /// </summary>
    [Header("dadasd")]
    [SerializeField]
    private float target_value;
    private float speed=3;


    //可以拖拽 不显
    [HideInInspector]
    public Slider slider_demo;
    [HideInInspector]
    public Image image_demo;
    [HideInInspector]
    public Text text_ui;
    // Use this for initialization
    void Start () {
        scenasynce = new AsyncOperation();
        StartCoroutine(Async());
        image_demo.sprite = Resources.Load<Sprite>("earth");

    }
	
	// Update is called once per frame
	void Update () {
        target_value = scenasynce.progress;
        if (scenasynce.progress >= 0.89)
        {
            target_value = 1.0F;
        }

        if (target_value != slider_demo.value)
        {
            slider_demo.value = Mathf.Lerp(slider_demo.value, target_value, Time.deltaTime* speed);
            if (Mathf.Abs(slider_demo.value - target_value) < 0.01)
            {
                slider_demo.value = target_value;
            }
        }

        text_ui.text = (slider_demo.value*100).ToString("0") + "%";
        if (slider_demo.value * 100 == 100)
        {
            scenasynce.allowSceneActivation = true;
        }

    }
    IEnumerator Async()
    {
        scenasynce = SceneManager.LoadSceneAsync(1);
        scenasynce.allowSceneActivation = false;
        yield return scenasynce;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值