Я установил функцию Health и оператор if, если Health ниже 0, но он не будет работать - PullRequest
0 голосов
/ 27 апреля 2019

Я программировал глупую игру, у которой нет цели научиться программировать на C #, но даже это простое выражение if ставит меня в тупик.Да, я знаю, немного глупо, но я искал 15 минут и решил опубликовать здесь.Я сделал переменную Health и сказал игре уничтожать игровой объект, когда здоровье на уровне или меньше нуля, однако, даже это, похоже, не работает.Я собираюсь сделать предположение, что мне не хватает какой-то точки с запятой.Посмотрим.

Я уже пытался обойти мертвых ();и просто сказал, что если здоровье на 0 или меньше, уничтожить gameObject и даже это не сработало.

void Dead()
{
    Destroy(gameObject);
}

void Update()
{
    if (Health <= 0)
    {
        Dead();
    }
}

void ApplyDamage(int TheDamage)
{
    Health -= TheDamage;
}

}

Я хочу, чтобы игра уничтожала врага, когда онна 0 или меньше.

1 Ответ

0 голосов
/ 28 апреля 2019

Попробуйте это:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...