【问题标题】:Dual Health-bar in unity c#unity c# 中的双重健康栏
【发布时间】:2021-05-10 09:44:45
【问题描述】:

我一直在四处寻找,关于这个话题的内容并不多。我目前正在尝试制作一个双重健康栏,如果一个低,另一个会上升,类似于斗争系统。

像这样:

到目前为止,我已经创建了两个统一的 2d 滑块,一个具有从左到右的锚点(红色的),另一个具有从右到左的锚点,但是一个是重叠的,并且不会低于其原始长度,但可以再高一点,我试过改变最小值和最大值,但这没有帮助。

我怎样才能让它变低,同时让另一个滑块上升?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class healthbar : MonoBehaviour
{
    public Slider slider;

    public void SetHealth(int health)
    {
        slider.value = health;
    }
}

到目前为止,这是我的红条脚本。

【问题讨论】:

    标签: c# unity3d 2d


    【解决方案1】:

    你不需要 2 条血条,你可以作弊。

    您只能使用一个绿色背景的红色血条。

    滑块值是红/绿比例

    // note that both RedHealth and GreenHealth should be float
    slider.value = RedHealth / (RedHealth + GreenHealth);
    

    【讨论】:

    • 我按照你说的做了,但它并没有改变大小,它只是通过滑块改变,不会从原来的减少,只是增加
    • @Hamza 它不应该改变大小。 Cid 正在使用具有一种颜色背景的单个滑块,而填充是另一种颜色。随着一个人的生命值上升,另一个人似乎会随着填充的增加而下降,这意味着显示的背景会减少。我还建议使用带有水平填充的Image 而不是滑块,因为滑块可以通过玩家输入进行修改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多