文章目录
前言
通过image设计技能样式,复制此image同时颜色改为黑色,透明度改为100左右,通过image的fill Amount属性来实现技能的CD。当fillAmount值从0变到1时,复制的image变可慢慢出现,跟底层的imge叠加,便可出现技能CD效果。也可以通过更改fillMethod可以实现其他刷新效果,如从左侧出现或者上下慢慢出现。
如果要刷新的gameObject含有子物体,而且子物体要一起出现隐藏,则给此Image添加Mask,同时可实现子游戏物体的刷新出现了。
CD效果:
public float coldtime = 2f;
public float timer = 0f;
private Image coldImage;
public KeyCode skillKey=KeyCode.A;
private bool isPressed = false;
//获取相关游戏物体(100透明度的image)的image组件
void Start () {
coldImage = GameObject.Find("/Canvas/Image/Skills/ColdImage").GetComponent<Image>();
}
// 可点击实现技能
public void OnSkillClick()
{
isPressed = true;
}
//实现相关刷新
void Update () {
if(Input.GetKeyDown(skillKey))
{
isPressed = true;
}
if (isPressed)
{
timer += Time.deltaTime;
coldImage.fillAmount =(coldtime- timer) / coldtime;
Debug.Log(timer);
if (timer >= coldtime)
{
coldImage.fillAmount = 0;
isPressed = false;
timer = 0;
}
}
}