本文介绍了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碰撞器统一调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-17 17:14