我的触发器有问题。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);
}
}
如果我的代码不工作:
- 确保您在播放器上有标签
- 检查代码中的标记拼写