关于unity3d的血量减少和增加的数字显示制作

2015年03月17日 09:53 0 点赞 0 评论 更新于 2025-11-21 17:24

前言

在开始讲解具体内容之前,先说明一下为什么要在 NGUI 里介绍这部分内容。因为接下来要用到一个插件 HUD Text,而该插件必须在已经安装了 NGUI 的前提下才能安装并使用。

安装 HUD Text 插件

首先,安装 HUD Text 插件。在这个插件中,最重要的是 HUD Text 脚本,如下图红色线标记的地方(此处需补充对应图片)。

创建空物体并添加脚本

在 UI 的相机下面创建一个空物体,将其命名为 hud,然后为该物体添加 HUDText 脚本。其属性设置如下(此处需补充对应图片): 在这些属性里,需要为 hudtext 指定字体,这个字体将用于显示血量数字。黄色标记的地方是这些数字的动画设定,可以根据具体需求进行调整。

编写测试脚本

为了进行示例演示,添加一个名为 test hud 的脚本(此处需补充对应图片)。以下是该脚本的源代码:

using UnityEngine;
using System.Collections;

public class testHUd : MonoBehaviour {
public HUDText text;

void Start () {
this.text = transform.GetComponent<HUDText>();
}

// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0)) {
text.Add(-10, Color.red, 0.01f); // 点击鼠标左键目标减 10 点血量
}

if (Input.GetKeyDown(KeyCode.A)) { // 按键盘 A 目标增加 10 点血量
text.Add(10, Color.green, 0.1f);
}
}
}

代码解释

  • using UnityEngine;using System.Collections;:引入必要的命名空间。
  • public HUDText text;:声明一个公共的 HUDText 类型的变量 text,用于引用 HUDText 组件。
  • Start() 方法:在脚本启动时,通过 transform.GetComponent<HUDText>() 获取当前物体上的 HUDText 组件,并赋值给 text 变量。
  • Update() 方法:每帧都会调用该方法。
  • if (Input.GetMouseButtonDown(0)):检测鼠标左键是否被按下,如果按下则调用 text.Add(-10, Color.red, 0.01f) 方法,使目标减少 10 点血量,数字显示为红色,动画持续时间为 0.01 秒。
  • if (Input.GetKeyDown(KeyCode.A)):检测键盘上的 A 键是否被按下,如果按下则调用 text.Add(10, Color.green, 0.1f) 方法,使目标增加 10 点血量,数字显示为绿色,动画持续时间为 0.1 秒。

完成血量数字显示动画及跟随设置

至此,血量的数字显示动画就完成了。然后按照上一讲的方式,为 hud 这个物体添加 Follow Target 脚本(此处需补充对应图片),这样 hud 就会跟随 cube 了。

运用结果

以下是该功能的运用结果展示(此处需补充对应图片或相关描述)。

通过以上步骤,我们就实现了在 Unity3D 中制作血量减少和增加的数字显示功能。