玩家和敌人之间的冲突不再有效,Unity2D



所以我正在开发一款太空射击游戏,我正在改变盒子对撞机的大小。当我打开游戏时,玩家和敌人之间没有发生任何碰撞。尽管如此,敌人和激光之间的冲突仍然有效。我不能在这里放图片,但Stack Overflow为我提供了一些图片链接。如果我没有给你提供足够的代码或其他任何东西,请这样说。我不知道出了什么问题,这让我很难过。所以你能看到哪里出了问题吗?

ps:我是Unity 的新手

玩家代码:

void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Enemy")
{
Damage();
}
}

敌方代码

void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Laser")
{
Destroy(other.gameObject);
Destroy(this.gameObject);
}
if (other.tag == "Player")
{
Destroy(this.gameObject);
}
}

玩家检查员

敌方检查员

激光检查员

[你说的"没有发生任何碰撞"是指吗

  1. 未调用方法"OnTriggerEnter"或
  2. if语句中的方法没有被调用

对于1。检查播放器是否连接了2D对撞机。

对于2.:你使用了"标记",你标记了玩家吗?

要修复某些错误,可以使用以下方法:调试日志("输入消息"(;因此,您可以在控制台中获得一条消息,并查看您的触发器是否有效,或者您的if语句是否存在问题。]


编辑:我查了检查人员,播放器碰撞器没有检查"IsTrigger"。不确定这是否是问题所在。

您的对撞机在您的播放器中未检查,您还需要检查该对撞机中的触发器。

最新更新