Unity的C#编程教程_4_游戏对象的碰撞检测

Collider of GameObjects

  • 在场景新建一个 Cube 对象,比如取名 PowerUp
  • 然后在素材文件夹新建一个 material,设置个颜色
  • 然后把 material 拖动到游戏对象上进行着色
  • Box Collider
    • Is Trigger 打勾,表示用于“触发事件”,同时被物理引擎忽略(即可以穿透,不是个实在的物体)
  • 增加 Rigidbody 组件
    • Use Gravity 去除勾,确保不受重力影响
  • 新建 C# script,命名为 Collectable,挂载到游戏对象下的组件中,并打开编辑
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Collectable : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    // 碰撞检测的专用方法之一:
    // 做碰撞检测的前提是有 Box Collider + Rigibody
    private void OnTriggerEnter(Collider other)
    {
        if(other.tag == "Player")
        {
            // 在销毁对象之前,可以给我们的 Player 加 PowerUp 的光环等动作
            Destroy(gameObject);
            // 也可以写成 Destroy(this.gameObject);
        }
    }
}
  • 把 Player 游戏对象的 Tag 设置成 Player
  • 记住存储编辑好的脚本文件
  • 启动游戏,当我们 Player 对象移动碰到 PowerUp 游戏对象的时候,PowerUp 游戏对象消失
  • 这个在游戏中可以用来比如吃金币,捡道具,吃Buff等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值