c# - 当发生碰撞时如何激活此代码?

标签 c# unity-game-engine

此代码旨在在碰撞时触发:

public class Collision : MonoBehaviour {

  public CustomClass myObject;

  void onCollisionEnter(Collision crash){
    myObject.Slowdown();
  }
  void Start () {}
  void Update () {}
}

我已将其附加到将与我的主对象 (myObject) 发生碰撞的对象 (randomObject),但它不起作用。

谁能告诉我我做错了什么?

编辑:它们都是刚体,并且肯定会发生碰撞:如果 randomObject 落在 myObject 上,它会停止移动并躺在上面,但当 myObject 移动时,它会继续下落。

最佳答案

您的类和作为 OnCollisionEnter 参数的 UnityEngine 类都被命名为Collision。如果您更改类的名称以减少困惑(我的建议),或将方法声明更改为以下内容,它应该可以工作:

void OnCollisionEnter(UnityEngine.Collision crash){

关于c# - 当发生碰撞时如何激活此代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14157519/

相关文章:

c# - 如何检测当前按下的键?

c# - ASP.NET Core、Microsoft 帐户登录和 AADSTS70001

c# - 团结 : How do you create a fully working InputField in C#?

android - 在 Unity 2018.1 Android gradle 构建失败,出现 'library uses same package'

unity-game-engine - OnCollisionStay 与 OnCollisionEnter

c# - 将 Pascal 'type' 转换为 C#

c# - VS2017 为多个框架目标创建一个库

c# - 有没有办法找到特定层中的每个 RigidBody?

unity-game-engine - Unity3D Sprite ...但是单面的?

c# - 统一文件生成