Unity基础课程之物理引擎2-碰撞检测案例-吃金币并加分

2023-10-13 22:15

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

业务逻辑💼:
这个脚本的主要功能是让主角在场景中吃到金币💰,每吃到一个金币,主角的分数就会增加 10 分🎉,同时销毁金币。这样,玩家就可以通过吃金币来增加分数,挑战更高的得分🔓。

程序逻辑💻:
1️⃣首先,在脚本的开始部分,通过 GameObject.FindGameObjectWithTag("Role") 找到主角,并将其存储在 Role 变量中🔖。
2️⃣然后,定义一个 OnTriggerEnter 方法,这个方法会在主角进入金币的触发范围内被调用🔨。在这个方法中,首先通过 Destroy(other.gameObject) 销毁金币🗑️,然后通过 Score.CurrentScore += 10 增加主角的分数🎓。这样,当主角吃到金币时,就会执行这个方法,实现吃金币加分的效果🎊。

场景搭建

摆放金币,设置碰撞器为触发器

脚本挂在主角身上,主角需要加刚体,我拒绝了受重力影响

代码福利:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CollectingCoins : MonoBehaviour
{// 这脚本实现主角吃金币,并且加分/* 程序逻辑:1.用户主角碰到金币后检测碰撞或者触发检测 2.如果金币碰到主角,则销毁金币 分数+1*/GameObject Role;void Start(){Role = GameObject.FindGameObjectWithTag("Role");//通过标签拿到主角也可以通过名字}//触发检测,碰撞检测原理一模一样,这里是触发检测,如果场景物体不得不碰撞就用碰撞检测private void OnTriggerEnter(Collider other){Destroy(other.gameObject);Score.CurrentScore += 10;// 另一个类的静态变量直接访问,每次加十分}//end  Trigge
}//end class

往期回顾:

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

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

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

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



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

相关文章

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

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进行比较:二、开始比较总结概要公司存在多