首页 > 其他分享 >Unity中关于刚体和碰撞器遇到的告警

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

时间:2024-02-21 11:12:30浏览次数:30  
标签:void 碰撞 private collision Unity 告警 kira 刚体

告警信息:

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)
        {
            ...
        }
    }

 

标签:void,碰撞,private,collision,Unity,告警,kira,刚体
From: https://www.cnblogs.com/hidog/p/18024739

相关文章

  • Unity引擎2D游戏开发,切换场景与人物可互动标识总结
    切换场景可以通过新建一个持久化地场景,将所有常驻元素放置进此场景里面,然后再将进入的场景加载(Loud)在Hierarchy窗口中。如果切换了其他某一个场景,再将离开的场景停用(Unload),进入的场景加载(Loud),即可实现。创建持久化场景,移入Hierarchy将所有永恒不变,常驻的元素移入此创建的持久......
  • Unity中的SerializeReference使用简介
    Unity默认可以序列化值类型,Serializable属性修饰的类型,派生自UnityEngine.Object的类型,通常这些类型已经足以供日常使用了.但是有时我们希望在编辑器面板上序列化一个接口或者抽象类,则需要用到SerializeReference属性.假定我们有一个接口IEatable,并实现了两个类Brea......
  • Unity基于AssetBundle资源管理流程详解
    在Unity游戏开发中,资源管理是一个非常重要的环节。随着游戏的发展,资源会变得越来越庞大,因此需要一种高效的资源管理方式来减少内存占用和加快加载速度。AssetBundle是Unity提供的一种资源打包和加载方式,可以将资源打包成一个独立的文件,然后在运行时进行加载和卸载。本文将详细介绍......
  • Unity MVC开发模式与开发流程详解
    在Unity游戏开发中,采用MVC(Model-View-Controller)模式是一种非常常见的设计模式。MVC模式将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。这种模式可以有效地分离应用程序的逻辑和用户界面,使得代码更易于维护和扩展。本文将详细介绍Unity中的MVC开发模式及其开发流......
  • Unity引擎2D游戏开发,水和荆棘的逻辑实现
    Unity引擎2D游戏开发,水和荆棘的逻辑实现新建瓦片新建Water与Spike的Tilemap对新建的两个Tilemap绑定TilemapCollider2D,这样他们就会有碰撞判定,勾选上IsTrigger为了标识伤害的来源,将Water和Spike打上标签Tag添加好荆棘的瓦片,不要忘记选中Spike的图层进行添加添加好后,......
  • Unity简易事件系统
    事件系统是一个基于观察者模式之上构建的系统。通过利用delegate来进行Multicasting,实现一处激发则一触全发。​ 以下代码以简单的形式实现了一个仅限void类型函数的事件系统。publicclassEventManager:MonoSingleton<EventManager>{privatestaticDictionary<strin......
  • Unity常用设计模式之工厂模式
    工厂模式是一种常用的设计模式,它属于创建型模式,用于创建对象的过程中。在Unity中,工厂模式可以帮助我们更好地管理和创建对象,提高代码的可维护性和可扩展性。接下来,我将详细介绍Unity中常用的工厂模式。一、工厂模式概述工厂模式是一种创建型设计模式,它提供了一个统一的接口来创......
  • Unity UGUI的DrawCall优化
    UnityUGUI是一种强大的用户界面设计工具,它可以帮助开发者快速创建各种界面元素,从按钮和文本到滑块和面板等。然而,在使用UGUI时,一个常见的性能瓶颈就是DrawCall过多导致的性能下降。在本文中,我们将深入探讨UGUI的DrawCall优化方法,并给出对应的代码实现。什么是DrawCall?在Unity......
  • Unity红点系统的架构与设计
    在游戏开发中,红点系统是一种常见的功能,用于提示玩家有未读消息或待处理任务。在Unity引擎中,我们可以使用脚本来实现红点系统,下面我将介绍一种基于Unity的红点系统的架构与设计,并给出对应的代码实现。红点系统的代码实现首先,我们需要创建一个红点管理器的脚本RedDotManager.cs,......
  • Unity常用设计模式之代理模式
    代理模式是一种常用的设计模式,它允许一个对象代表另一个对象进行访问。在Unity中,代理模式经常被用来控制对某些对象的访问,以便在访问对象的同时进行一些额外的操作,比如权限控制、缓存、日志记录等。代理模式的结构包括三个角色:抽象主题(Subject)、真实主题(RealSubject)和代理(Proxy)。......