首页 > 解决方案 > 如何使用 C# 在 Unity 中创建 Lifesteal 系统?

问题描述

我想在我的游戏中制作一个吸血系统,我不知道怎么做。在谷歌上进行了大量研究后,我一无所获。有人可以帮忙吗?我并不是要给我诅咒的代码,而是要帮助我想想它是如何工作的。我在 C# 上工作

游戏是这样的:

我的玩家有一些统计数据,比如生命值、伤害等。玩家用剑攻击敌人。敌人有自己的生命值,当它死亡时,它会给玩家 xp。我的播放器中有治疗功能,因此可以通过健康药水添加治疗。问题是它应该如何根据他的命中来治疗玩家?我的意思是你命中 = 20 伤害你会得到 2hp(例如 10% 吸血)。

标签: c#

解决方案


我认为每次玩家攻击敌人时你都必须执行健康功能,你可以这样做:

public float playerHealth = 100;
int percentage = 20;

public void healPlayer()
{
   playerHealth += (attackDamage * (percentage / 10)); 
}

这段代码将玩家对敌人造成的伤害量的 20% 相加,将百分比除以 10 再乘以伤害量。

您可以在敌人死亡时为玩家添加经验,执行如下功能:

public float playerExperience = 10;

public void addExperience()
{
  playerExperience += 2;
}

推荐阅读