【问题标题】:OnTriggerEnter2D is not being calledOnTriggerEnter2D 未被调用
【发布时间】:2016-05-28 22:27:09
【问题描述】:

我正在尝试在 Unity 中制作 Asteroids 的复制品。问题是我的子弹没有触发小行星上的OnTriggerEnter2D 方法。小行星附有以下脚本:

using UnityEngine;
using System.Collections;

public class Asteroid : MonoBehaviour {

    void Start () {

        print ("class initiated"); 

    }

    void onTriggerEnter2D (Collider2D collider) {

        Debug.Log (collider); 

    }

}

子弹游戏对象启用了 Is Kinematic 和 Is Trigger,并附加了 Rigidbody 2D 和 Box Collider 2D。小行星 GameObject 具有 Rigidbody 2D 和 Circle Collider 2D,并且 Is Kinematic 和 Is Trigger 未选中。

【问题讨论】:

    标签: c# unity3d triggers collision


    【解决方案1】:

    问题在于拼写。 onTriggerEnter2D 中的 o 应大写。像这样的简单错误可能会毁了你的一天。在我运行你的代码之前我什至没有注意到它。

    void OnTriggerEnter2D(Collider2D collider)
    {
        Debug.Log(collider);
    }
    

    下次如果你不确定Unity回调函数的拼写,在Visual Studio中右击,然后点击Implement MonoBehaviours搜索对于您想要的功能,选择它并单击确定。 Visual Studio 将为您添加该功能。

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      相关资源
      最近更新 更多