10.17 阴 周三 熟悉了拖拽IBeginDragHandler、IDragHandler、和IEndDragHandler这三个接口的应用 以及技能消耗品冷却效果
10.17 阴 周三
今天主要熟悉了拖拽IBeginDragHandler、IDragHandler、和IEndDragHandler这三个接口的应用
IBeginDragHandle开始拖动要做的事 IEndDragHandler结束拖动应该做的事
今天主要熟悉了拖拽IBeginDragHandler、IDragHandler、和IEndDragHandler这三个接口的应用
IBeginDragHandle开始拖动要做的事 IEndDragHandler结束拖动应该做的事
卡片类拖拽方法:继承IDropHandler, IPointerEnterHandler, IPointerExitHandler这三个接口
IDropHandel OnDrop 处理松开鼠标左键事应该做什么事 IPointerEnterHandler OnPointEnter处理鼠标指针进入挂在该脚本的物体区域时要做什么事IPointerExitHandler OnPointerExit处理鼠标移除该挂载脚本的物体区域时要做什么事
IDropHandel OnDrop 处理松开鼠标左键事应该做什么事 IPointerEnterHandler OnPointEnter处理鼠标指针进入挂在该脚本的物体区域时要做什么事IPointerExitHandler OnPointerExit处理鼠标移除该挂载脚本的物体区域时要做什么事
以及消耗品技能的冷却效果
冷却效果的呈现需复制以相同的技能图片改变其图片的透明度 改变其ImageType 属性为Filled 通过代码获取其FillAmount 来控制其冷却效果
冷却效果的呈现需复制以相同的技能图片改变其图片的透明度 改变其ImageType 属性为Filled 通过代码获取其FillAmount 来控制其冷却效果
效果如下:
代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class clicklengque : MonoBehaviour {
public Image img; //获取Img
bool isStart = false;
float col = 2; //设置冷却时间
float time = 0; //设置现在时间
// Use this for initialization
void Start () {
}
//Time.deltaTime 把时间平均分配到每一帧里
// Update is called once per frame
void Update() {
if (isStart)
{
time += Time.deltaTime; //现在的时间=已经过去的时间+每一帧的正在进行的时间
img.fillAmount = (col - time) / col; //用冷却时间减去现在时间除以冷却时间算出现在冷却时间的百分比将赋其给图片
if (time >= col) //如果现在时间大于冷却时间则冷却完毕
{
img.fillAmount = 0; 将图片占比改为0
time = 0; //将现在时间改为0
isStart = false;
}
}
}
public void click()
{
isStart = true;
}
}