Unity中关于OnTriggerEnter2D继承触发的问题

关于Unity编程:私有OnTriggerEnter2D方法在子类继承时仍能生效,引发碰撞检测,开发者分享了这一独特发现。
摘要由CSDN通过智能技术生成

今天写关于拾取物品的时候突然发现一个很巧妙的事情,在父类中写关于OnTriggerEnter2D物品被拾取后销毁的事件,子类继承该父类后即使OnTriggerEnter2D是private的,仍然能进行碰撞检测。(子类脚本挂载在物体上,父类不挂载脚本)

下面贴一下代码,这是父类:

public class Test_Base : MonoBehaviour
{
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("Player"))
        {
            Destroy(gameObject);
        }
    }
}

子类中什么都不做:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : Test_Base // 只做继承该父类
{
    
}

结果是碰撞检测仍然能够正确触发,刚开始我还以为哪里写错调用了,后来打断点看是OnTriggerEnter2D自行调用。觉得很有趣,记录一下

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值