Unity / NullReferenceException&克隆实例化/ C#的问题

时间:2018-05-24 15:23:36

标签: c# unity3d clone nullreferenceexception

试图完成一个游戏开发项目,但有几个问题,尽管我最近几天的研究,我无法弄清楚问题是什么。

首先是我每次死亡时发生的错误,因为它意味着通过屏幕将您重定向到屏幕上的游戏,我通过PlayerPref保存您的分数

// THIS IS IN THE CharacterHealth.cs SCRIPT
void Die()
{
    CurrentHealth = 0;
    _characterXP.OnDeath();
    SceneManager.LoadScene("NewGameOver");
}

// THIS IS IN THE CharacterXP.cs SCRIPT
public void OnDeath()
{
    PlayerPrefs.SetInt("EndLevel", currentLevel);
}

但我一直收到错误: NullReferenceException:在我甚至可以重定向到Game Over屏幕之前,对象引用未设置为对象的实例。

第二个问题是,我有两个敌人,我放在场景中,其余的来自一个脚本,每5至10秒产生一次。 从脚本中产生的那些在他们的名字中有(克隆),我认为这可能会破坏与两个预先生成的怪物一起使用的脚本,杀死它们将为​​玩家提供体验。

# IN THE EnemyHealth.cs SCRIPT
void Dead()
{
    _characterXP.GainExp(40);
    Destroy(gameObject);
}

# IN THE BossHealth.cs SCRIPT
void Dead()
{
    _characterXP.GainExp(120);
    Destroy(gameObject);
}

# IN THE CharacterXP.cs SCRIPT
public void GainExp(float expThatWasGained)
{
    CurrentExp += expThatWasGained;
}

我已经使用了有关这些主题的现有资源,但我仍然无法找到解决方案,我之所以提出另外一个问题。

0 个答案:

没有答案