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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

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部署