为玩家恢复健康
Adding health back to the player
我有一款游戏,玩家有 10 点生命值。每次他失去健康,他的心脏就会下降 0.5。为了给玩家一些希望,我决定为敌人添加可掉落的心。这些心可以填充 2 生命值。
问题是我制作的健康脚本是 public Int 健康。这不允许“<、>、+、-”而且我不知道如何适应这个。
我的健康脚本
[Header ("Max/Starting Health")]
public int maxHealth;
[Header ("Current Health")]
public int health;
void Start () {
health = maxHealth;
}
public bool TakeHeal (int amount) {
if (dead || health == maxHealth)
return false;
health = Mathf.Min (maxHealth, health + amount);
if (OnTakeHealEvent != null)
OnTakeHealEvent.Invoke();
return true;
}
HealthPickup 脚本
using UnityEngine;
public class HealthBoost : MonoBehaviour
{
Health health;
public float healthBonus = 2;
void Awake()
{
health = FindObjectOfType<Health>();
}
void OnTriggerEnter2D(Collider2D col)
{
if(health < health.maxHealth)
{
Destroy(gameObject);
health = health + healthBonus;
}
}
}
我正在考虑将 healthpickup 脚本更多地用于 takeheal。但我不知道如何使它与游戏对象发生碰撞
您可能想要修改健康对象中的健康值:
if(health.health < health.maxHealth) {
health.health = health.health + healthBonus;
}
我有一款游戏,玩家有 10 点生命值。每次他失去健康,他的心脏就会下降 0.5。为了给玩家一些希望,我决定为敌人添加可掉落的心。这些心可以填充 2 生命值。
问题是我制作的健康脚本是 public Int 健康。这不允许“<、>、+、-”而且我不知道如何适应这个。
我的健康脚本
[Header ("Max/Starting Health")]
public int maxHealth;
[Header ("Current Health")]
public int health;
void Start () {
health = maxHealth;
}
public bool TakeHeal (int amount) {
if (dead || health == maxHealth)
return false;
health = Mathf.Min (maxHealth, health + amount);
if (OnTakeHealEvent != null)
OnTakeHealEvent.Invoke();
return true;
}
HealthPickup 脚本
using UnityEngine;
public class HealthBoost : MonoBehaviour
{
Health health;
public float healthBonus = 2;
void Awake()
{
health = FindObjectOfType<Health>();
}
void OnTriggerEnter2D(Collider2D col)
{
if(health < health.maxHealth)
{
Destroy(gameObject);
health = health + healthBonus;
}
}
}
我正在考虑将 healthpickup 脚本更多地用于 takeheal。但我不知道如何使它与游戏对象发生碰撞
您可能想要修改健康对象中的健康值:
if(health.health < health.maxHealth) {
health.health = health.health + healthBonus;
}