NullReferenceException-Unity2D损坏系统

时间:2019-11-18 01:27:30

标签: c# unity3d

我有2个脚本。两者都有健康值。

//Player1Script
public float healthPlayer1 = 100f;

------------------------------------

// Player2Script
public float healthPlayer2 = 75f;

我在 Player1 脚本中添加了引用 Player2 的公共脚本。

public Player2Script p2Code; 

Player2Script具有一种接收损害的功能:

public void TakeDamageP2()
{
    healthPlayer2 -= 10f;
}

因此,为了施加损害,我在 Player1 脚本中使用OnTriggerEnter2D函数:

public void OnTriggerEnter2D(Collider2D other)
{
    if(other.CompareTag("P2"))
    {
        p2Code.TakeDamageP2();
        Debug.Log("D'oh!");
    }

}

运行项目时,在控制台中出现错误消息NullRefenceException: Object not set to an instance of an object.,检查了所有内容,正确标记了播放器和子对象,设置了打孔机对撞机扳机,一切正常,但损坏了不会发生。

版本: Unity 2019.2.12f1

0 个答案:

没有答案