Как правильно настроить HealthBar, чтобы она заполнялась только до 20 единиц, а не полностью?

Каким образом здоровье изменяется в этом коде при коллизии с различными объектами? <br/> Вот представленный код: <br/> <br/> <pre><code class="cs">void OnCollisionEnter2D(Collision2D collision)
	{
		if(collision.gameObject.tag == "Heal")
		{
			health += 20;
			HealthBar.fillAmount = health + 20;
			
			Destroy(collision.gameObject);
		}
		
		if(collision.gameObject.tag == "Enemy")
		{
			health -= 5;
			HealthBar.fillAmount = health / 100;
		}
		
		if(collision.gameObject.tag == "Weapon")
		{
			Destroy(collision.gameObject);
		}</code></pre>
  • 22 августа 2024 г. 15:23
Ответы на вопрос 2
Для настройки HealthBar таким образом, чтобы она заполнялась только до 20 единиц, можно изменить формулу заполнения HealthBar. Вместо HealthBar.fillAmount = health / 100; можно использовать HealthBar.fillAmount = health / 20;.

В данном коде здоровье изменяется следующим образом при коллизии с различными объектами:
- При коллизии с объектом с тегом "Heal" здоровье увеличивается на 20 единиц и HealthBar заполняется до health + 20.
- При коллизии с объектом с тегом "Enemy" здоровье уменьшается на 5 единиц и HealthBar заполняется до health / 100.
- При коллизии с объектом с тегом "Weapon" данный объект уничтожается, без изменения здоровья или HealthBar.

Таким образом, при коллизии с объектами "Heal" и "Enemy" происходят изменения здоровья и заполнения HealthBar в соответствии с условиями соответствующих блоков кода.
Ты в HealthBar добавляешь по факту health + 20 + 20
Похожие вопросы