[英]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 所说,您将方法命名错误。 根据您使用的版本,它应该是OnCollisinEnter
或OnCollisionEnter2D
。
Unity 检查您的脚本中是否有特定的方法。 如果您不这样做,他们将不会调用该方法,但如果 Unity 识别该方法名称,它将被调用。
我遇到了同样的问题,但是当我向它或碰撞的 object 添加一个刚体时,它就修复了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.