Unity 利用UGUI之Scrollbar制作进度条

在Unity中除了用Slider、Image做进度条,其实用Scrollbar也可以做进度条。

首先,在场景中新建一个Scrollbar组件和一个Text组件:

请添加图片描述
请添加图片描述

其次,创建模拟进度的一个脚本,Scrollbar_Progressbar.cs:

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

public class Scrollbar_Progressbar : MonoBehaviour
{
    public Scrollbar scrollbar;
    public TextMeshProUGUI text;

    private float curCount = 0;  //当前加载量,从0开始加载
    private float allCount = 100f;   //总加载量,这里设置为100

    private float smoothSpeed = 0.1f;  //加载的速度

    private bool changeValue;
    private bool changeSize;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.A))
        {
            changeValue = true;
            curCount = 0;
            scrollbar.size = 0;
        }
        else if(Input.GetKeyDown(KeyCode.S))
        {
            changeSize = true;
            curCount = 0;
            scrollbar.value = 0;            
        }
        if(changeValue)
        {
            if (curCount < allCount)
            {
                curCount += smoothSpeed;
                if (curCount > allCount)
                {
                    curCount = 100f;
                }
                scrollbar.value = curCount / 100f;
                text.text = (int)curCount / allCount * 100 + "%";
            }
            else
            {
                changeValue = false;
            }
        }
        if(changeSize)
        {
            if (curCount < allCount)
            {
                curCount += smoothSpeed;
                if (curCount > allCount)
                {
                    curCount = 100f;
                }
                scrollbar.size = curCount / 100f;
                text.text = (int)curCount / allCount * 100 + "%";
            }
            else
            {
                changeSize = false;
            }
        }
        
    }
}

我这里特别模拟了改变scrollbar中Value和Size属性的两种情况,经检验,只有改变Size值才符合进度条的效果。

具体效果如下:

Unity 利用UGUI之Scrollbar制作进度条

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/305475.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度解析HubSpot数据分析:洞察未来商业趋势

在当今数字化的商业环境中&#xff0c;数据是推动决策和业务增长的关键。作为业内领先的CRM平台&#xff0c;HubSpot不仅为企业提供了高效的客户关系管理工具&#xff0c;同时也成为了数据分析的利器。 1. HubSpot数据分析的核心价值 1.1 洞察客户行为和趋势 HubSpot数据分析…

歌手荆涛演唱的春节回家:传统与现代的交织,歌声里的乡愁与期盼

随着冬日渐寒&#xff0c;春节的脚步愈发临近。这是一个充满温馨与期待的时刻&#xff0c;一个穿越时空、凝聚亿万华夏儿女情感的盛大节日。春节&#xff0c;它不仅仅是一个传统习俗的展现&#xff0c;更是一种心灵的归宿&#xff0c;一种文化的传承。 在悠久的历史长河中&…

【博士每天一篇论文-综述】Brain Inspired Computing : A Systematic Survey and Future Trends

阅读时间&#xff1a;2023-11-17 1 介绍 年份&#xff1a;2023 作者&#xff1a;李国琪 期刊&#xff1a;TechRxiv 引用量&#xff1a;2 这篇论文主要介绍了脑启发计算&#xff08;Brain Inspired Computing&#xff0c;BIC&#xff09;以及其在人工智能&#xff08;Artifici…

【HarmonyOS】掌握 Stage 模型的核心概念与应用

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…

JS逆向之无限debugger对抗

文章目录 JS中实现debugger的方法无限Debugger示例Demo1Demo2Demo3Demo4总结 无限Debugger实战 JS中实现debugger的方法 首先&#xff0c;我们要知道&#xff0c;在浏览器实现debugger的方法有哪些 debugger关键词 &#xff0c;相当于C内联汇编的int3&#xff0c;在代码中嵌入…

【Flutter】webview页面访问不了 显示err_cleartext_not_permitted

在AndroidManifest.xml中添加语句 android:usesCleartextTraffic"true"位置如图&#xff1a;

Python 使用input函数从键盘输入数据

在Python中&#xff0c;input()函数可以从键盘获取用户的输入数据。当我们使用input()函数时&#xff0c;会暂停程序的执行&#xff0c;等待用户输入数据&#xff0c;并将用户输入的数据作为字符串返回。 如&#xff1a; name input("请输入你的姓名&#xff1a;"…

2024年1月10日 十二生肖 今日运势

小运播报&#xff1a;2024年1月10日&#xff0c;星期三&#xff0c;农历十一月廿九 &#xff08;癸卯年乙丑月癸酉日&#xff09;&#xff0c;法定工作日。 红榜生肖&#xff1a;龙、牛、蛇 需要注意&#xff1a;鸡、狗、兔 喜神方位&#xff1a;东南方 财神方位&#xff1…

扩展学习|数据融合助推商务智能与分析

文献来源&#xff1a;[1]李爱华,续维佳,石勇.基于数据融合的商务智能与分析架构研究[J].计算机科学,2022,49(12):185-194. 一、信息融合 &#xff08;一&#xff09;信息融合定义演变 早期信息融合的定义指出&#xff0c;其主要任务是综合分析若干传感器观测到的信息[9,…

pod探针2:

就绪探针演示&#xff1a; 演示探针失败 存活探针&#xff08;livenessProde&#xff09;&#xff1a;探测容器是否是否运行正常&#xff0c;如果探测失败则kubelet杀掉容器&#xff08;不是Pod&#xff09;&#xff0c;容器会根据重启策略决定是否重启 就绪探针&#xff08;re…

LINE网页版使用方法(内含LINE网页版特点总结)

如果想要在电脑上使用LINE&#xff0c;但是又觉得下载客户端很累赘的话&#xff0c;LINE网页版是你最好的选择。但是LINE网页版相对于其他平台来说使用方式比较少。所以今天就来讲讲&#xff0c;我们有什么方式可以在电脑中使用LINE。 LINE网页版使用方法 1.需要使用Chrome浏览…

Nginx配置反向代理实例一

Mac 安装Nginx教程 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 反向代理实例一实现的效果 在浏览器地址栏输入www.testproxy.com, 跳转到系统Tomcat主页面。 反向代理准备工作 第一步&#xff1a;在系统的 hosts 文件进行ip和域名对应关系的配置。 …

利用“与非”运算实现布尔代数中的与,或,非三种运算

什么是“与非”运算&#xff1f; 要想明白“与非”运算&#xff0c;首先要明白“与”运算和“非”运算。 “与”运算在离散数学中叫做合取式&#xff0c;也就是A和B相同时为1的时候结果才为1&#xff0c;其余情况都为0 下面是“与”运算的真值表 “非”运算在离散数学中叫做否…

GAMES101-Assignment4

一、问题总览 实现de Casteljau算法来绘制由4个控制点表示的Bzier曲线。需要修改main.cpp中的如下函数&#xff1a; bezier&#xff1a;该函数实现绘制Bzier曲线的功能。它使用一个控制点序列和一个OpenCV::Mat对象作为输入&#xff0c;没有返回值。它会使t在0到1的范围内进行…

改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)

YOLOv5改进点 2022.10.30 复现TPH-YOLOv5 2022.10.31 完成替换backbone为Ghostnet 2022.11.02 完成替换backbone为Shufflenetv2 2022.11.05 完成替换backbone为Mobilenetv3Small 2022.11.10 完成EagleEye对YOLOv5系列剪枝支持 2022.11.14 完成MQBench对YOLOv5系列量化支持…

Qt之基本数据类型

Qt 基本数据类型定义在#include <QtGlobal>中&#xff0c;如表下表所示。 (1)打开Qt Creator&#xff0c;新建一个控制台项目&#xff0c;项目名为test。 (2)在 main.cpp 中输入如下代码: #include <QCoreApplication> #include <QtGlobal> int main(int…

《数据结构、算法与应用C++语言描述》-红黑树的C++实现-百万级数据量测试通过

红黑树 完整可编译运行代码见仓库&#xff1a;GitHub - Jasmine-up/Data-Structures-Algorithms-and-Applications/_3matrix。 如有问题请在评论区指出。另外&#xff0c;Github仓库会根据我的学习情况持续更新&#xff0c;欢迎大家点star&#xff0c;谢谢。 基本概念 红-黑…

实验笔记之——服务器链接

最近需要做NeRF相关的开发,需要用到GPU,本博文记录本人配置服务器远程链接的过程,本博文仅供本人学习记录用~ 连上服务器 首先先确保环境是HKU的网络环境(HKU AnyConnect也可)。伙伴已经帮忙创建好用户(第一次登录会提示重新设置密码)。用cmd ssh链接ssh -p 60001 <u…

软件测试|MySQL逻辑运算符使用详解

简介 在MySQL中&#xff0c;逻辑运算符用于处理布尔类型的数据&#xff0c;进行逻辑判断和组合条件。逻辑运算符主要包括AND、OR、NOT三种&#xff0c;它们可以帮助我们在查询和条件语句中进行复杂的逻辑操作。本文将详细介绍MySQL中逻辑运算符的使用方法和示例。 AND运算符 …