繁体   English   中英

团结不承认碰撞

[英]unity not recognising a collision

在此处输入图像描述

在此处输入图像描述

2 snippets of code from 2 separate scripts
    protected virtual void OnCollide(Collider2D coll)
    {
        Debug.Log("OnCollide was not implemented in" + this.name);
    }
}



    protected override void OnCollide(Collider2D coll)
    {
        if (coll.tag == "Fighter")
        {
            if (coll.name != "Player")
            {
                Debug.Log(coll.name);

            }
        
        }
    }
private void Swing()
{
    Debug.Log("Swing");
}

}

遇到一个问题,当我与敌人碰撞时(应该是控制台通知)没有任何反应,没有出现错误,我似乎找不到我的代码有任何问题,碰撞是在我的测试 npc 中注册的,但不是敌人

正如 BugFinder 和 sorold 所说,您将方法命名错误。 根据您使用的版本,它应该是OnCollisinEnterOnCollisionEnter2D

Unity 检查您的脚本中是否有特定的方法。 如果您不这样做,他们将不会调用该方法,但如果 Unity 识别该方法名称,它将被调用。

我遇到了同样的问题,但是当我向它或碰撞的 object 添加一个刚体时,它就修复了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM