Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上

本文主要是介绍Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

业务逻辑💼:


这个脚本的主要功能是用于显示和更新主角的得分。在游戏中,玩家需要吃到金币来增加分数,而这个脚本就是负责将得分的变化实时显示在屏幕上的。

程序逻辑💻:


1️⃣首先,在脚本的开始部分,通过 System.Collections.Generic 导入一些常用的集合类型。
2️⃣然后,定义一个 Score 类,这个类继承自 MonoBehaviour。在这个类中,我们定义了一个 CurrentScore 静态变量,用于存储主角的当前得分,以及一个 oneScoretext 变量,用于存储用于显示得分的文本框。
3️⃣在 Awake() 方法中,我们将 CurrentScore 初始化为 0,这是游戏开始时分数的默认值。
4️⃣在 Start() 方法中,我们通过 GameObject.Find("Text (TMP)") 找到一个名为 "Text (TMP)" 的游戏物体,并获取其 TMP_Text 组件,将其存储在 oneScoretext 变量中。
5️⃣在 Update() 方法中,我们每帧都会更新 oneScoretext 的文本内容,将其设置为 "Score:" 加上当前得分的字符串形式。这样,玩家就能看到实时的得分变化了。

场景设置:

创建UI-Text-TextMeshPro,弹出对话框,点第一个导入,脚本挂在那里都行,为了面向对象的信仰,我挂在了主角身上!

完整代码: 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;//引用文本UI插件
public class Score : MonoBehaviour
{// Start is called before the first frame updateTMP_Text oneScoretext;//从wai外边存储一个文本框public static int CurrentScore = 0;//记录分数private void Awake()//比start先执行,仅仅执行一次{CurrentScore = 0;//游戏开始时就把分数归0}void Start(){oneScoretext = GameObject.Find("Text (TMP)").GetComponent<TMP_Text>();Debug.Log("拿到文本框"+oneScoretext.name);}// Update is called once per framevoid Update(){oneScoretext.text = "Score:"+ CurrentScore.ToString();//int 转字符串 把分数存到外部的文字框中, 实时更新}
}

 

 往期回顾:

http://t.csdnimg.cn/UKRIa

Unity中控制摄像机跟踪游戏角色(插值柔和追踪+旋转)-CSDN博客

Unity实现用WASD控制一个物体前后左右移动-小白课程01-CSDN博客

Unity基础课程之物理引擎2-用于射击或者点击消除的射线检测方法-CSDN博客

这篇关于Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/193173

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element