Unity揹包/商城物品逐個顯示緩動效果-依次顯示

道具欄/商城中物品逐個顯示效果


本文提供全流程,中文翻譯。

Chinar 堅持將簡單的生活方式,帶給世人!

(擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例)



Chinar —— 心分享、心創新!

助力完成揹包/商城 Scroll View / Grid Layout Group 逐個遊戲對象的顯示

爲新手節省寶貴的時間,避免採坑!


Chinar 教程效果:
這裏寫圖片描述html



全文高清圖片,點擊便可放大觀看 (不少人居然不知道)


1

Show One by one —— 一個個顯示圖片


經過協程,一個一個加載並顯示圖片服務器

Resources 中建立一個預設物 Image ,用來動態加載實例化spa

舉個栗子黑白88
這裏寫圖片描述

using System.Collections;
using UnityEngine;
using UnityEngine.UI;


/// <summary>
/// 逐個加載圖片
/// </summary>
public class ChinarLoadImage : MonoBehaviour
{
    public GameObject PanelGrid; //父物體組


    void Start()
    {
        StartCoroutine(BurnGranule()); //第1種方式,開協程

        //InvokeRepeating("BurnImage", 0, 0.2f); //第2種方式,想要結束用CancelInvoke();
    }


    /// <summary>
    /// 1:供 InvokeRepeating 調用執行
    /// </summary>
    private void BurnImage()
    {
        GameObject go = Instantiate(Resources.Load<GameObject>("Image"));
        go.transform.SetParent(PanelGrid.transform);
    }


    /// <summary>
    /// 2:用協程逐個生成Image圖片 
    /// </summary>
    /// <returns></returns>
    IEnumerator BurnGranule()
    {
        while (true)
        {
            GameObject go = Instantiate(Resources.Load<GameObject>("Image"));
            go.transform.SetParent(PanelGrid.transform);
            yield return new WaitForSeconds(0.1f);
            if (PanelGrid.transform.childCount > 40) //跳出循環條件
            {
                break;
            }
        }
    }
}

2

TextOne by one —— 一個個顯示文字


將須要顯示的文字轉爲字符,而後一個個的取出,並經過協成完成顯示.net

舉個栗子黑白88
這裏寫圖片描述

using System.Collections;
using UnityEngine;
using UnityEngine.UI;


/// <summary>
/// 一個個顯示文字
/// </summary>
public class ChinarLoadingText : MonoBehaviour
{
    public  Text   text;     //故事面板文字欄
    private string textTemp; //故事面板具體文字
    private char[] cc;


    void Start()
    {
        StartOne();
    }


    private void StartOne()
    {
        text.text = "";
        textTemp  = "Chinar 堅持將簡單的生活方式,帶給世人!\n"; //須要顯示的文字
        cc        = textTemp.ToCharArray();      //將string類型裏的每個字轉化成char集合
        StartCoroutine(TextOne());
    }


    IEnumerator TextOne()
    {
        bool isGo = true;
        while (isGo)
        {
            for (int i = 0; i < cc.Length; i++)
            {
                yield return new WaitForEndOfFrame();
                text.text += cc[i];
            }
        }
    }
}

支持

May Be —— 搞開發,總有一天要作的事!


擁有本身的服務器,無需再找攻略!

Chinar 提供一站式教程,閉眼式建立!

爲新手節省寶貴時間,避免採坑!


先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)


1 —— 雲服務器超全購買流程 (新手必備!)

2 —— 阿里ECS雲服務器自定義配置 - 購買教程(新手必備!)

3—— Windows 服務器配置、運行、建站一條龍 !

4 —— Linux 服務器配置、運行、建站一條龍 !翻譯





技術交流羣:806091680 ! Chinar 歡迎你的加入


END

本博客爲非營利性我的原創,除部分有明確署名的做品外,所刊登的全部做品的著做權均爲本人所擁有,本人保留全部法定權利。違者必究

對於須要複製、轉載、連接和傳播博客文章或內容的,請及時和本博主進行聯繫,留言,Email: ichinar@icloud.com

對於經本博主明確受權和許可以使用文章及內容的,使用時請註明文章或內容出處並註明網址
3d

相關文章
相關標籤/搜索