最近在学习NGUI,有些小的知识点,个人觉得很不错,就记录下来了,毕竟好记性不如烂笔头,温故知新。
- 首先导入NGUI插件,插件我会在文章下面给出链接。
- 导入NGUI后,会在菜单栏,看到NGUI的按钮,我们首先创建一个Sprite,重命名为Skill,为其选择图集和精灵,调整Skill的大小和位置,我这里Size 为200*200.
- 在Hierarchy面板中选中Skill,然后再Scene面板中,右键创建一个Sprite,重命名为Filled,为其选择图集和精灵,最好选择一个单色的精灵,然后,Type选择Filled(核心),修改Color Tint,为黑色,透明度调整到一个合适的位置 ,我这里为100,(可以自行把握)。
- 在Hierarchy面板中选中Skill,然后再Scene面板中,右键创建一个Lable,重命名为Time,为其选择字体 ,然后修改字体大小(40),和Size(80*50),调整其位置,让其位于中央,为其加上边框,在Effect哪里选择OutLine,修改边框颜色,让其更好看些,最后删除Text中的内容。
- 在Hierarchy面板中选中Skill,然后再Scene面板中,右键创建一个Lable,重命名为Key,为其选择字体,然后修改字体大小(40),和Size(80*50) ,然后调整其位置到Skill的右下角,修改Text中的内容为一个技能快捷按键提示,我这里为A,然后根据个人喜好可以为其加上一些效果和颜色的。我这里就不加了。
- 现在我来来添加脚本控制技能的冷却。选择Skill,添加脚本,命名为Skill。打开脚本,编辑。
using UnityEngine;
using System.Collections;
public class SKill : MonoBehaviour
{
public float skillColdTime = 5f; //冷却时间,可以在外部修改
private UILabel timeLabel; //显示倒计时的lable
private UISprite filledSprite; //显示技能快捷键的lable
private bool isCold = false; //是否在冷却
private float timer = 0f; //计时器
void Start()
{
timeLabel = transform.FindChild("Time").GetComponent<UILabel>();
filledSprite = transform.FindChild("Filled").GetComponent<UISprite>();
timeLabel.gameObject.SetActive(false); //一开始不显示冷却时间和技能快捷按键
filledSprite.gameObject.SetActive(false);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A) && !isCold) //当设置的快捷键按下,
{
print("Biu~Biu~");
isCold = true; //开始冷却
timer = skillColdTime; //计时器等于冷却时间
timeLabel.text = ((int)skillColdTime).ToString() + " s"; //显示冷却时间,这里只显示整数
timeLabel.gameObject.SetActive(true); //激活显示冷却时间lable
//每次按键按下,都要重置一下fillAmount,让其完全覆盖技能图标
//fillAmount为0到1之间的值 ,0为不显示,1为全部显示
filledSprite.fillAmount = 1f;
filledSprite.gameObject.SetActive(true); //激活前置背景的精灵
}
if (isCold)
{
timer -= Time.deltaTime; //倒计时
timeLabel.text = ((int)timer).ToString() + " s"; //显示倒计时,这里只显示整数
filledSprite.fillAmount = timer / skillColdTime; //根据比例来显示前置背景的经历的显示比例,
if (timer <= 0f) //及时到了,
{
isCold = false; //冷却结束
timeLabel.gameObject.SetActive(false); //隐藏显示
filledSprite.gameObject.SetActive(false);
}
}
}
}
至此,保存脚本,回到编辑器中,我们运行游戏,当我们按下A键时 ,会看到,
像这样,一个简单的技能冷却就Ok了。
NGUI3.9.1: 链接:http://pan.baidu.com/s/1sjvbOBV 密码:30xf
如果您要使用NGUI做商业用途,请您去AssetStore 购买正版,谢谢!