我设置了一个“健康”功能和if语句,以了解“健康”是否低于0,但是它不起作用

时间:2019-04-27 15:38:20

标签: c# visual-studio unity3d

我正在编写一个愚蠢的游戏,该游戏无意让我在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或更少时消灭敌人。

1 个答案:

答案 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;
}