首页 > 解决方案 > 我做了一个 OnTriggerEnter2D 无效但不起作用

问题描述

嗨我做了一个 OnTriggerEnter2D 无效但不起作用

我在播放器中添加了rigidbody2d 如何触发商店

并且有一个盒子对撞机并且在玩家和商店中触发

但不工作

using System.Collections.Generic;
using UnityEngine;

public class OpenShop : MonoBehaviour
{
    public GameObject ShopGui;
    public bool test = false;


    void Update()
    {
        if (test == true)
        {
            Destroy(gameObject);
        }
    }

    public void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.transform.tag == "Shop")
        {
            test = true;
        }
    }
}

店铺属性

玩家属性

标签: c#unity3dtriggerscollisionvoid

解决方案


您正在使用OnCollisionEnter2D回调。更改它以OnTriggerEnter2D查看是否可以解决您的问题。

public void OnTriggerEnter2D(Collider2D other)
{
    if (other.tag == "Shop")
    {
        test = true;
    }
}

推荐阅读