技能icon的原理和实现方法
来源:互联网 发布:大数据常用算法 编辑:程序博客网 时间:2024/06/05 07:01
UGUI简单版
直接创建一个Image,选择图片,修改aplah值为150左右。在此Image下再创建一个子Image(子Image可以命名为FillImage来区分),选择原来的图片,Type选择Fill,添加脚本。完成
添加鼠标点击事件调用DoSkill函数也十分简单,直接在子Image下添加一个EventTrigger组件,选择Add new Event, 选择PointerDown,然后选择子Image物体中脚本函数即可。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Simple_CD : MonoBehaviour {
private bool finished = true;
private Image fillImage;
void Start () {
fillImage = this.GetComponent<Image>();
}
void Update () {
if(Input.GetKeyDown(KeyCode.F))
{
DoSkill();
}
}
public void DoSkill()
{
if(finished)
{
finished = false;
StartCoroutine(SetSkillValue());
}
}
IEnumerator SetSkillValue()
{
for(int i = 0; i <= 100; i++)
{
fillImage.fillAmount = i*0.01f;
yield return new WaitForSeconds(0.01f);
}
finished = true;
}
}
技能icon进化版:
前面过程和上面差不多,再在子Image(就是FillImage)下创建一个Text来显示倒计时。在FillImage的脚本中控制Text倒计时的时间显示。控制脚本如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class test : MonoBehaviour {
public Text timerText;
public float coldTime;
private float timer;
private Image fillImage;
private bool isStartTimer = false;
void Start ()
{
fillImage = GameObject.Find("FillImage").GetComponent<Image>();
coldTime = 5f;
timer = coldTime;
timerText.enabled = false;
}
void Update () {
if(Input.GetKeyDown(KeyCode.A))
{
isStartTimer = true;
}
if(isStartTimer)
DoSkill();
}
public void DoSkill()
{
if(isStartTimer)
{
timer -= Time.deltaTime;
fillImage.fillAmount = timer/coldTime;
timerText.enabled = true;
if(timer <= 0)
{
fillImage.fillAmount = 1;
timer = coldTime;
isStartTimer = false;
timerText.enabled = false;
}
timerText.text = Mathf.CeilToInt(timer).ToString();
}
}
public void OnClick()
{
isStartTimer = true;
}
}
- 技能icon的原理和实现方法
- Android launcher动态Icon的实现方法
- Android launcher动态Icon的实现方法
- 复制Icon和复制Bitmap的方法
- PHP 实现断点续传的原理和方法
- Web9 icon的实现
- 前端必备技能之AJAX的实现原理
- shortcut icon和icon的区别
- 实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
- tools:replace="android:icon" 的作用和替代方法
- Treap原理和实现方法
- Treap原理和实现方法
- Treap原理和实现方法
- xcode 添加Icon的方法
- xcode 添加Icon的方法
- 【cocos2dx学习笔记】技能冷却的实现方法
- 技能CD 的实现
- 命令模式中Undo/Redo的实现原理和方法
- Android入门(一)——Android Studio安装配置
- Maven根据不同个环境打包, 获取不同的配置文件
- maven-灵活的构建
- 第二阶段青春
- hdu1004结构体数组
- 技能icon的原理和实现方法
- 【复习代码】循环链表
- MySQL多表连接查询
- MySQL学习笔记4:操作数据表中的记录(增删改查)
- 归并排序-递归的应用-面试的小难点
- 292. Nim Game
- 浏览器兼容问题(1):某些国家文字从右往左的小括号bug
- android ffmpeg 编译
- Summary of learning data type