我们在LOL或者一些小游戏中 可以发现 掉血不是简单的血量降低
这是我在拳皇里截的一个图
我们可以看到每次 当绿色的血瞬间掉下去之后 会有一个比较模糊的红色慢慢减下去
这样可以给玩家更多的回馈
下面我介绍一下这个的实现
首先因为我用的是2018版本的unity 其中的Image没有设置模式的选项
所以我就用Slider来实现了
这是我的父子关系 其中的greenblood和redblood都是slider
注意一定要吧Handle Slide Area删除 不然会影响效果
然后开始代码 我的思路是让绿色的血量突变 之后再慢慢降低红色的血量
这样就很容易的实现了这个效果
public Slider GreenBlood;//绿色血量
public Slider RedBlood;//红色血量
public float hp = 100;//总血量
private void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
hp -= 30;
}
if (hp <= 0)
{
hp = 0;
}
GreenBlood.value = hp / 100;
if(RedBlood.value >GreenBlood .value)
{
RedBlood.value -= 0.003f;
}
}
代码也是非常简单在这里我说一下 slider的值是0-1之间的所以是减去0.003f
在unity赋值一下就好了 如果想要美观一些给slider的背景和填充部分赋值精灵图片即可
如果你也是unity爱好者 欢迎关注我的博客 我会在这里储蓄更新我的学习过程
最后祝大家 头发浓密 睡眠良好 财富自由