Unity实现动态数字变化

最近的项目需要动态显示数字,所以使用Text组件,将数字进行变化操作过程记录下来。

一、UI准备

1、新建一个Text组件

在这里插入图片描述

2、新建C#脚本

在这里插入图片描述

3、将Text挂载到脚本上

在这里插入图片描述

二、函数说明

1、NumberChange 方法

NumberChange 方法接收四个参数:初始数字 initNum,显示的数字 showNum(即结果),目标数字 targetNum,以及一个表示变化速度的参数 v。此外,还有一个可选参数 changeType,用于指定变化类型,默认为线性变化。

根据 changeType 的值,使用 switch 语句进行不同类型的处理:
如果 changeType 是 Linear,则采用线性变化方式。计算出变化量 (targetNum - initNum) * Time.deltaTime / v,将其累加到 showNum 上。如果 showNum 超过或等于 targetNum,则将其设为 targetNum。最后返回 showNum。
如果 changeType 是 EaseIn,则直接返回 showNum,表示没有变化。
如果 changeType 是 EaseOut,采用先快后慢的变化方式。计算出变化量 (targetNum - showNum) * Time.deltaTime / v,将其累加到 showNum 上,然后返回 showNum。

3、ChangeType 方法

在 ChangeType 枚举中定义了三种变化速度的类型:
Linear 表示线性变化,即变化速度保持恒定。
EaseIn 表示先慢后快的变化方式。
EaseOut 表示先快后慢的变化方式

三、项目展示

1、源码展示

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class NUMdd : MonoBehaviour
{/// <summary>/// 数字变化/// </summary>/// <param name="initNum">初始数字</param>/// <param name="showNum">显示的数字(结果)</param>/// <param name="targetNum">目标数字</param>/// <param name="v">Linear:时间    EaseOut:比例值</param>/// <param name="changeType">变化类型</param>public Text numberText;public float changeSpeed = 1.0f;public ChangeType changeType = ChangeType.Linear;double initNum = 0.0;double showNum = 0.0;double targetNum = 100.0;void Update(){// 调用 NumberChange 方法计算数字变化showNum = NumberChange(initNum, showNum, targetNum, changeSpeed, changeType);// 更新 UI 显示numberText.text = showNum.ToString();}// NumberChange 方法public static double NumberChange(double initNum, double showNum, double targetNum, float v, ChangeType changeType = ChangeType.Linear){switch (changeType){case ChangeType.Linear:showNum += (targetNum - initNum) * Time.deltaTime / v;if (showNum >= targetNum){showNum = targetNum;}return showNum;case ChangeType.EaseIn:return showNum;case ChangeType.EaseOut:showNum += (targetNum - showNum) * Time.deltaTime / v;return showNum;default:return 0;}}}
/// <summary>
/// 数字变化
/// </summary>
public enum ChangeType
{Linear,//线性EaseIn,//先慢后快EaseOut,//先快后慢
}

2、效果展示

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理-项目范围管理

目录 一、概述 二、范围计划的编制 2.1 项目中包含的范围 2.1.1 产品范围 2.1.2 工作范围 2.1.3 总结 2.2 范围计划编制的成果 2.2.1 范围管理计划 2.2.1.1 概述 2.2.1.2 内容 三、创建工作分解结构 3.1 概述 3.2 WBS目的和用途 3.3 WBS分层结构 3.3.1 分层结构图…

第三届上海市算法竞赛T1评测队列

题目描述 在一次算法比赛中&#xff0c;有 n 个程序提交到了竞赛平台上&#xff0c;测试每个程序需要两步&#xff1a;先编译&#xff0c;然后运行。 竞赛平台有两台服务器&#xff0c;一台只负责编译&#xff0c;另一台只负责运行&#xff0c;编译第 i 个程序的时间为 ai​&…

C/C++位运算符

位运算是指按二进制进行的运算[more] 在程序中&#xff0c;常常需要处理二进制位的问题。C/C语言提供了6个位操作运算符。这些运算符只能用于整型操作数&#xff0c;即只能用于带符号或无符号的char,short,int与long类型。 在实际应用中&#xff0c;建议用unsigned整型操作数&…

Java获取文件路径

第一种&#xff1a; File f new File(this.getClass().getResource("/").getPath()); System.out.println(f);结果: C:\Users\xiaob\javasrc\project\request-pro\target\classes 获取当前类的所在工程路径; 如果不加“/” File f new File(this.getClass().getR…

[Android]SharedPreferences可视化管理key-value数据存储

1.定义 PrefsManager 创建一个用于管理 SharedPreferences 的单例工具类&#xff0c;并使用泛型方法来简化对不同类型数据的存取操作&#xff0c;该类提供了泛型的 get 和 set 方法来处理各种数据类型。 import android.content.Context import android.content.SharedPrefer…

C# 下记录(Record)详解

在C# 9.0中&#xff0c;引入了一个新的关键字&#xff1a;record。record关键字用于定义记录类型&#xff0c;这是一种不可变的数据结构&#xff0c;用于表示具有明确字段名称和类型的数据集。本文将详细介绍C#中record类型的使用和特点&#xff0c;以及如何通过记录记录器&…

【云计算】云数据中心网络(六):私网连接

《云网络》系列&#xff0c;共包含以下文章&#xff1a; 云网络是未来的网络基础设施云网络产品体系概述云数据中心网络&#xff08;一&#xff09;&#xff1a;VPC云数据中心网络&#xff08;二&#xff09;&#xff1a;弹性公网 IP云数据中心网络&#xff08;三&#xff09;…

深度学习基础——卷积神经网络的感受野、参数量、计算量

深度学习基础——卷积神经网络的感受野、参数量、计算量 深度学习在图像处理领域取得了巨大的成功&#xff0c;其中卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是一种非常重要的网络结构。本文将介绍卷积神经网络的三个重要指标&#…

网络安全产品---扛DDOS产品

DDOS攻击 what 分布式拒绝服务攻击&#xff08;Distributed Denial of Service attack&#xff09; how 攻击者通过控制大量的网络设备&#xff08;傀儡机&#xff09;&#xff0c;向攻击目标&#xff08;例如网站、Web服务器、网络设备等&#xff09;发出海量的、但并不是…

SQLite R*Tree 模块(三十三)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite FTS3 和 FTS4 扩展(三十二) 下一篇:SQLite轻量级会话扩展&#xff08;三十四&#xff09; 1. 概述 R-Tree 是一个特殊的 专为执行范围查询而设计的索引。R-树最常见的是 用于地理空间系统&#xff0c;其中…

前端三剑客 HTML+CSS+JavaScript ① 基础入门

光永远会照亮你 —— 24.4.18 一、C/S架构和B/S架构 C:Client&#xff08;客户端&#xff09; B:Browser&#xff08;浏览器&#xff09; S:Server&#xff08;服务器&#xff09; C/S 架构&#xff1a; B/S 架构&#xff1a; 大型专业应用、安全性要求较高的应用&#xff0c;还…

binary tree Leetcode 二叉树算法题

144.二叉树的前序遍历 前序遍历是&#xff1a;根-左-右 所以记录序列的的时候放在最前面 递归 class Solution {List<Integer> ans new ArrayList<>();public List<Integer> preorderTraversal(TreeNode root) {if(root null) return ans;ans.add(root…

【HCIP】OSPF的高级特性

OSPF的高级特性1 --- 不规则区域 一、OSPF不规则区域类型 产生原因&#xff1a;区域划分不合理&#xff0c;导致的问题 1、非骨干区域无法和骨干区域保持连通 2、骨干区域被分割 造成后果&#xff1a;非骨干区域没和骨干区域相连&#xff0c;导致ABR将不会帮忙转发区域间的路由…

【数据结构练习题】堆——top-k问题

♥♥♥♥♥个人主页♥♥♥♥♥ ♥♥♥♥♥数据结构练习题总结专栏♥♥♥♥♥ ♥♥♥♥♥上一章&#xff1a;【数据结构练习题】二叉树(1)——1.相同的树2.另一颗树的子树3.翻转二叉树4.平衡二叉树5.对称二叉树♥♥♥♥♥ 文章目录 1.top-k问题1.1问题描述1.2思路分析1.3绘图分析…

理光打印机设置扫描文件到共享文件夹教程(线上和现场)

在线设置。 1.点击用户工具/计数器按钮。 2.点击系统设置。 3.点击端口设置&#xff0c;点击机器IPV4地址。 4.获得打印机IP地址。 5.回到共享电脑&#xff0c;新建一个账户或者使用当前账户&#xff0c;为了隐私安全起见&#xff0c;最好设置密码。 6.关闭防火墙。 7.启用…

Mac 下安装PostgreSQL经验

使用homebrew终端软件管理器去安装PostgreSQL 如果没有安装brew命令执行以下命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 沙果开源物联网系统 SagooIoT | SagooIoT 1.使用命令安装postgreSQL brew i…

QC、QA、SQC、SQA

QC 品质控制/质量控制&#xff08;QC即英文Quality Control的简称&#xff0c;中文意义是品质控制&#xff09;其在ISO8402&#xff1a;1994的定义是“为达到品质要求所采取的作业技术和活动”。有些推行ISO9000的组织会设置这样一个部门或岗位&#xff0c;负责ISO9000标准所要…

JavaScript之分时函数、分时间段渲染页面、提高用户体验、参数归一化、高阶函数、分段、appendChild、requestIdleCallback

MENU 前言效果图html原始写法优化方式一(参数归一化)优化方式二(当浏览器不支持requestIdleCallback方法的时候)优化方式三(判断环境) 前言 当前需要向页面插入十万个div元素&#xff0c;如果使用普通的渲染方式&#xff0c;会造成延迟。这时候就需要通过分时函数来实现渲染了。…

JAVAEE初阶之计算机如何工作

1.一台机器如何组成 冯诺依曼体系 CPU 中央处理器: 进行算术运算和逻辑判断.存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入设备: 用户给计算机发号施令的设备.输出设备: 计算机个用户汇报结果的设备. 针对存储空间 硬盘 > 内存 >> CPU针对数据访问…

【Pytorch】VSCode实用技巧 - 默认终端修改为conda activate pytorch

VScode修改配置使得启动终端为conda环境 文章目录 VScode修改配置使得启动终端为conda环境1、找到settings.json 文件2、查找 conda / mamba 相关内容3、编辑 settings.json 文件4、异常处理5、补充检验 VScode跑项目&#xff0c;在启动pytorch项目时往往会有千奇百怪的问题&am…