我向敌人射击了一个弹丸,然后向玩家射击,这个弹丸有collider2d,我将其标记为触发器。而且似乎无法识别我的玩家对撞机。子弹刚穿过我的玩家。

void OnTriggerEnter2d (Collider2D other)
{
    Player _player = other.GetComponent<Player>();

    if (_player != null)
        _player.ChangeHealth(1);

    Destroy(gameObject);
}


我的播放器组件:

c# - Collider2D.OnTriggerEnter2D不触发-LMLPHP

最佳答案

您的方法名称中有一个小错字。 “ 2d”中的“ d”必须大写。

onTriggerEnter2d ---> onTriggerEnter2D

void OnTriggerEnter2D (Collider2D other)
{
    Player _player = other.GetComponent<Player>();

    if (_player != null)
        _player.ChangeHealth(1);

    Destroy(gameObject);
}

07-24 14:10