如何在Unity中使用特定游戏对象触发事件



我的触发器有问题。Basicaly我希望只有当玩家传球时扳机才起作用。但如果敌人与它相撞或子弹与它相撞,它就会被激活。我试着给玩家贴上标签,但似乎不起作用,因为扳机无法识别玩家或从他的枪里射出的子弹。这是脚本:

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

public class StartTrigger : MonoBehaviour
{
public GameObject Player;

public GameObject Spawns;

public GameObject Trigger;


void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Player"))
{
Spawns.SetActive(true);
}

}

void OnTriggerExit2D(Collider2D other)
{
Trigger.SetActive(false);
}
void OnTriggerEnter2D(Collider2D other)
{
print("Something entered the trigger");
if (other.CompareTag("Player"))
{
print("Player entered the trigger");
Spawns.SetActive(true);
}
}

void OnTriggerExit2D(Collider2D other)
{
print("Something has exit the trigger");
if (other.CompareTag("Player"))
{
print("Player has exit the trigger");
Trigger.SetActive(false);
}
}

如果我的代码不工作:

  1. 确保您在播放器上有标签
  2. 检查代码中的标记拼写

最新更新