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 @   HiBlack  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示