@uriy99

Как описать правильно аптечки в скрипте игрока чтобы они прибавляли здоровье?

Создать новый тип бонуса на уровне - аптечки, которые могут хранить разную величину лечения. При соприкосновении аптечки с любым объектом, содержащим компонент Health, аптечка должна добавить объекту величину лечения и пропасть с игровой сцены.
Игрок содержит компонент Health.Мне нужно в скрипте игрока обратиться к методу
public void SetHealth(int bonusHealth)
{

health+= bonusHealth;

}

и прибавить тем самым бонусное здоровье к основному здоровью игрока.
public void OnTriggerEnter2D(Collider2D col)
 {
   if(col.gameObject.CompareTag("Tablet"))
   {
     Destroy(col.gameObject);
   }
 }

На данный момент у меня аптечки уничтожаются,но здоровье не прибавляют.Помогите пожалуйста.
  • Вопрос задан
  • 351 просмотр
Решения вопроса 2
zZaKko
@zZaKko
Люблю стратегии и Unity.
Может надо вызвать метод в триггере? Он не будет работать просто прописав его:
public void SetHealth(int bonusHealth)
{
health+= bonusHealth;
}

public void OnTriggerEnter2D(Collider2D col)
 {
   if(col.gameObject.CompareTag("Tablet"))
   {
     Destroy(col.gameObject);
     SetHealth(10);//Вместо 10 укажи нужное тебе бонусное хп.
   }
 }
Ответ написан
@uriy99 Автор вопроса
public void OnTriggerEnter2D(Collider2D col)
 {
   if(col.gameObject.CompareTag("Tablet"))
   {
     Destroy(col.gameObject);
     SetHealth(10);
   }
 }
}

Я получаю компонент Health и пишу метод внутри этого компонента.Так как компонент "Health"прикреплён к игроку,то аптечка собирается,а здоровье уходит игроку.P.S:в скрипте "Player" изменять ничего не нужно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы