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

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程