关于unity3d的血量减少和增加的数字显示制作
前言
在开始讲解具体内容之前,先说明一下为什么要在 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 中制作血量减少和增加的数字显示功能。