Unity3D-UGUI应用篇使用Image实现进度条动画

Posted 恬静的小魔龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D-UGUI应用篇使用Image实现进度条动画相关的知识,希望对你有一定的参考价值。

推荐阅读

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

前段时间分享了UGUI的每个组件的属性和使用方法,比如Text、Button、Image、Toggle、InputField、ScrollView等等。

接着分享了UGUI的一些原理,比如说UGUI的渲染模式、UGUI的缩放计算、UGUI的描点定位、UGUI的自动布局等等。

相信大家看完后会对UGUI有一个比较全面的认识了。

下面,就继续分享UGUI的UI组件进行应用的实例。

这是本系列文章的第二篇:
【Unity3D-UGUI应用篇】(一)使用Text实现进度等待动画
【Unity3D-UGUI应用篇】(二)使用Image实现进度条动画
【Unity3D-UGUI应用篇】(三)使用UGUI实现层级菜单
【Unity3D-UGUI应用篇】(四)使用UGUI弹窗显示模型及弹窗模型交互
【Unity3D-UGUI应用篇】(五)使用Button完成鼠标移动到UI上面显示文字功能
【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)
【Unity3D-UGUI应用篇】(七)UGUI实现窗口的自由拖拽
【Unity3D-UGUI应用篇】(八)Image实现画线、画三角形、画正方形、画圆

二、介绍及示意图

分享一个UGUI 图片实现进度条动画的方法,配合上资源异步加载,可以作为场景加载动画。

下面就先看一下效果:

图片资源:

项目资源:
https://download.csdn.net/download/q764424567/11644403

三、实现

1、首先设置界面


2、设置Image的属性

主要是为了控制Fill Amount,来实现进度条的进度推进

3、编写代码Loading.cs

using UnityEngine;
using UnityEngine.UI;

public class Loading : MonoBehaviour
{
	//进度条 image
    public Image m_Image;
    //显示的进度文字 100%
    public Text m_Text;
    //控制进度
    float m_CurProgressValue = 0;
    float m_ProgressValue = 100;

    void Update()
    {
        if (m_CurProgressValue < m_ProgressValue)
        {
            m_CurProgressValue++;
        }
        //实时更新进度百分比的文本显示 
        m_Text.text = m_CurProgressValue + "%";
        //实时更新滑动进度图片的fillAmount值  
        m_Image.GetComponent<Image>().fillAmount = m_CurProgressValue / 100f;
        if (m_CurProgressValue == 100)
        {
            m_Text.text = "OK";
            //这一块可以写上场景加载的脚本
        }
    }
}

4、 拖入插槽中

OK,按下Play,去看下效果吧

以上是关于Unity3D-UGUI应用篇使用Image实现进度条动画的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D-UGUI应用篇使用UGUI实现层级菜单

Unity3D-UGUI应用篇使用Text实现进度等待动画

Unity3D-UGUI应用篇UGUI实现窗口的自由拖拽

Unity3D-UGUI应用篇UGUI实现窗口的自由拖拽

Unity3D-UGUI应用篇屏幕自适应(多分配率适配)

Unity3D-UGUI应用篇使用Button完成鼠标移动到UI上面显示文字功能