我正在编写一个愚蠢的游戏,该游戏无意让我在C#中进行一些编码练习,但是即使是这种简单的if语句也让我很沮丧。是的,我知道这有点愚蠢,但我一直在寻找15分钟,因此决定在此发布。我制作了一个Health变量,并告诉游戏在健康为零或小于零时销毁游戏对象,但是,即使这样似乎也不起作用。我将假设我缺少某种分号。我们将会看到。
我已经尝试绕过Dead();函数,并且只是说如果Health等于或小于0,则销毁gameObject,甚至不能正常工作。
void Dead()
{
Destroy(gameObject);
}
void Update()
{
if (Health <= 0)
{
Dead();
}
}
void ApplyDamage(int TheDamage)
{
Health -= TheDamage;
}
}
推断我希望游戏在0或更少时消灭敌人。
答案 0 :(得分:0)
尝试一下:
private int _health = 5;
private void Update()
{
// If the health is under or equals to 0, die
if(_health <= 0)
{
Die();
}
}
// Kills the gameObject
private void Die()
{
Destroy(gameObject);
}
// Make sure you call this function
// You call this funtion how you are suppose to, and give it the parameter *ApplyDamage(10)*
public int ApplyDamage(int amount)
{
return _health -= amount;
}