【发布时间】:2016-01-28 02:14:32
【问题描述】:
我想使用我当前在 GUItext 中显示的信息创建一个健康栏。我想要的行为是让生命值随着时间的推移而减少(如倒数计时器),但每当玩家收集物体时就会增加少量。
这是我当前的代码:
using UnityEngine;
using System.Collections;
public class TimeText : MonoBehaviour {
public GUIText timeText;
//countdown
public float timer = 99.00f;
// Update is called once per frame
void Update ()
{
timer -= Time.deltaTime*5;
timeText.text = "Health: " + timer.ToString("0");
}
}
这是我希望我的健康栏的样子:
【问题讨论】:
-
您似乎在使用 Unity 非常古老的遗留“gui”系统。 不要使用它。只需使用普通的 Unity.UI 系统即可。这很容易。
-
简单地使用 Invoke 或 InvokeRepeating。 google 1000s 的 QA
-
在澄清问题后,这看起来像是将多个问题混为一谈:1)显示一个健康条图形,其大小与变化的数字相对应,2)在与特定类型/标签发生碰撞时增加健康对象(并可能破坏/停用对象)。仅针对第 1 部分,我建议使用
UI.Image来显示健康栏,并更改其fillAmount变量。
标签: c# unity3d unity3d-2dtools guitext