本文介绍了OnCollisionEnter未与2D碰撞器统一调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我几乎检查了这个问题的每一个答案,但大多数都是简单的错误和错误。我的问题是,即使与其他刚体发生冲突,也不会调用OnCollisionEnter。
这里是未调用的部分:
void OnCollisionEnter(UnityEngine.Collision col) {
Debug.Log("collision!!!");
foreach(ContactPoint contact in col.contacts) {
//checking the individual collisions
if(contact.Equals(this.target))
{
if(!attacking) {
Debug.Log("hitting target");
} else {
Debug.Log("dying");
//engage death sequence
}
}
}
}
甚至没有"碰撞!"此时将显示一条消息。我是理解错了用法,还是忘了什么?
推荐答案
您是否在使用2D碰撞器和刚体?如果是,请使用此函数而不是OnCollisionEnter
void OnCollisionEnter2D(Collision2D coll)
{
Debug.Log(coll.gameObject.tag);
}
这篇关于OnCollisionEnter未与2D碰撞器统一调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!