试图完成一个游戏开发项目,但有几个问题,尽管我最近几天的研究,我无法弄清楚问题是什么。
首先是我每次死亡时发生的错误,因为它意味着通过屏幕将您重定向到屏幕上的游戏,我通过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;
}
我已经使用了有关这些主题的现有资源,但我仍然无法找到解决方案,我之所以提出另外一个问题。