我使 OnTriggerEnter2D 无效但不起作用
i made a OnTriggerEnter2D void but not work
嗨,我使 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;
}
}
}
shop properties
player properties
您正在使用 OnCollisionEnter2D
回调。
将其更改为 OnTriggerEnter2D
以查看是否可以解决您的问题。
public void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Shop")
{
test = true;
}
}
删除 Player
上的第一个 BoxCollider
并保留第二个已启用触发器。使用此代码在商店
public void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Player"))
{
test = true;
}
}
嗨,我使 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;
}
}
}
shop properties
player properties
您正在使用 OnCollisionEnter2D
回调。
将其更改为 OnTriggerEnter2D
以查看是否可以解决您的问题。
public void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Shop")
{
test = true;
}
}
删除 Player
上的第一个 BoxCollider
并保留第二个已启用触发器。使用此代码在商店
public void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Player"))
{
test = true;
}
}