LoadPanel.cs 2.8 KB
Newer Older
秃头给你一拳's avatar
秃头给你一拳 已提交
1 2 3 4 5 6 7 8 9 10 11
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// 管理加载画面的脚本
/// </summary>
public class LoadPanel : MonoBehaviour
{
    //加载文字。目前对这玩意儿的改动都暂时在GameDataManager里。
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
12 13 14 15
    public Text loadProgressText;
    public Slider slider;//加载的进度条
    public Image sliderImage;// 进度条上的图片,为了实现进度条的滚动
    [Tooltip("显示的百分比")]public Text text;//显示的百分比
秃头给你一拳's avatar
秃头给你一拳 已提交
16 17 18 19 20 21 22 23 24 25 26
    protected Image backGroundImg;

    public Sprite[] imgArrays;
    public string[] TipsArrays;

    private void Awake()
    {
        loadProgressText = GetComponentInChildren<Text>();
        backGroundImg = GetComponentInChildren<Image>();
    }

秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
27 28 29 30 31 32 33 34 35
    //临时用,不管了
    public void RunEnable()
    {
        gameObject.SetActive(true);
        //StartCoroutine(ChangeBackgroundImg());//持续切换背景图片
        ChangeBackgroundImg();
        StartCoroutine(RunSlider());
    }

秃头给你一拳's avatar
秃头给你一拳 已提交
36 37
    private void OnEnable()
    {
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
38 39 40 41 42 43
        //全放到上面的RunEnable里了
    }

    private void OnDisable()
    {
        StopAllCoroutines();
秃头给你一拳's avatar
秃头给你一拳 已提交
44 45
    }

秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
46 47
    // 两个update都试了一下,滚动的校徽看起来都挺卡的,聊胜于无吧
    /*private void FixedUpdate()
秃头给你一拳's avatar
秃头给你一拳 已提交
48
    {
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
        sliderImage.transform.localEulerAngles = new Vector3(0, 0, sliderImage.transform.rotation.z + 100f);
    }

    private void Update()
    {
        sliderImage.transform.localEulerAngles = new Vector3(0, 0, sliderImage.transform.rotation.z + 100f);
    }*/

    /// <summary>
    /// 协程实现进度条上的图片的滚动
    /// </summary>
    IEnumerator RunSlider()
    {
        int i = 0;
        while(i < 250)
秃头给你一拳's avatar
秃头给你一拳 已提交
64
        {
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
65 66
            sliderImage.transform.localEulerAngles = new Vector3(0, 0, sliderImage.transform.rotation.z + 100f);
            yield return new WaitForSeconds(0.04f);
秃头给你一拳's avatar
秃头给你一拳 已提交
67
        }
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
68 69 70 71 72 73 74 75 76 77
        StopAllCoroutines();
    }


    /// <summary>
    /// 实现随机选择一张图片进行加载
    /// </summary>
    private void ChangeBackgroundImg()
    {
        backGroundImg.sprite = imgArrays[Random.Range(0,imgArrays.Length)];
秃头给你一拳's avatar
秃头给你一拳 已提交
78 79
    }

秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
80 81 82 83 84 85 86 87 88 89 90 91

    //IEnumerator ChangeBackgroundImg()
    //{
    //    while(gameObject.activeInHierarchy)
    //    {
    //        SetBackgroundImg();
    //        yield return new WaitForSeconds(4);
    //    }
    //}



秃头给你一拳's avatar
秃头给你一拳 已提交
92 93
    protected void SetBackgroundImg()
    {
秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
        //Sprite nextImg = null;
        //if (backGroundImg == null) return;
        //if (imgArrays.Length == 1)
        //{
        //    nextImg = imgArrays[0];
        //}
        //else
        //{
        //    //TODO:沈建伟来写一下开始时随机选一张图
        //这边while代码最好不要了,会有死循环
        //    //while (nextImg != backGroundImg.sprite)
        //    //{

        //    //    //
        //    //    //nextImg = imgArrays[Random.Range(0, imgArrays.Length)];
        //    //}
        //}
秃头给你一拳's avatar
秃头给你一拳 已提交
111

秃头给你一拳's avatar
Beta  
秃头给你一拳 已提交
112
        //backGroundImg.sprite = nextImg;
秃头给你一拳's avatar
秃头给你一拳 已提交
113 114 115
    }

}