Unity中关于刚体和碰撞器遇到的告警

告警信息:

Script error: OnCollisionEnter2D
This message parameter has to be of type: Collision2D
The message will be ignored.

 

 解决:

经查验发现,由于该脚本是粘贴的类似功能脚本,而粘贴前使用的触发器,因此方法为 private void OnTriggerStay2D(Collider2D collision),而新脚本使用碰撞检测 OnCollisionEnter2D(Collision2D collision)。(注意标黑部分)

  
// 使用触发器获取碰撞物体
private void OnTriggerStay2D(Collider2D collision)
    {
        Kira kira = collision.GetComponent<Kira>();
        if(kira != null)
        {
           ...
        }
    }


// 使用碰撞器获取碰撞物体
   private void OnCollisionEnter2D(Collision2D collision)
    {
        Kira kira = collision.gameObject.GetComponent<Kira>();
        if (kira != null)
        {
            ...
        }
    }

 

posted @ 2024-02-21 11:04  HiBlack  阅读(175)  评论(0)    收藏  举报