推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新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/11644430
三、实现
编写脚本TextLoading.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TextLoading : MonoBehaviour
{
public Text m_Text;
float m_CurProgressValue2 = 0;
float m_ProgressValue2 = 100;
float m_CurProgressValueTemp = 0;
void Update()
{
if (m_CurProgressValue2 < m_ProgressValue2)
{
m_CurProgressValue2++;
}
if (m_CurProgressValue2 == 100)
{
m_CurProgressValue2 = 0;
}
m_CurProgressValueTemp = m_CurProgressValue2 / 100f;
if (m_CurProgressValueTemp > 0.1f && m_CurProgressValueTemp <= 0.3f)
{
m_Text.text = "○○○○●";
}
else if (m_CurProgressValueTemp > 0.3f && m_CurProgressValueTemp <= 0.5f)
{
m_Text.text = "●○○○○";
}
else if (m_CurProgressValueTemp > 0.5f && m_CurProgressValueTemp <= 0.7f)
{
m_Text.text = "○●○○○";
}
else if (m_CurProgressValueTemp > 0.7f && m_CurProgressValueTemp <= 0.9f)
{
m_Text.text = "○○●○○";
}
else
{
m_Text.text = "○○○●○";
}
}
}
代码比较简单,就不做注释了。
|