Unity制作游戏中技能使用后转CD的场景

发表于2018-10-09
评论0 1.4k浏览
游戏中的技能不可能无限释放,需要玩家等到CD冷却时间过去之后才可以再此释放技能,那下面这篇文章就来看看如何制作游戏中技能使用后转CD的场景。


因为我们需要用鼠标点击图片让它重新转CD,所以我们需要创建一个Button,然后把Button的子物体Test删除掉,加一个Image为他的子物体。

然后我们把图片(这里图片必须是Sprite(2DandUI)格式的)拖入到Button的SourceImage中,同时拖入到Image的SourceImage中,然后在Image中他调整它的颜色,并且改变它的ImageType为Filled,这里颜色自己调整,设置如下图

为了达到点击图片转CD的效果写了脚本:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CDHyp : MonoBehaviour {
    //剩余时间
    public float leftTime;
    //CD转完的总时间
    public float totalTime;
    private Image effectImage;
    private Button cdButton;
    // Use this for initialization
    void Start () {
        effectImage = transform.FindChild("Image").GetComponent<Image>();
    //    effectImage = GetComponent<Image>();
        leftTime = totalTime;
        cdButton = transform.GetComponent<Button>();
        cdButton.interactable = false;
    }
    // Update is called once per frame
    void Update () {
        leftTime -= Time.deltaTime;
        if (effectImage.fillAmount>0)
        {
            effectImage.fillAmount = leftTime / totalTime;
        }
        else
        {
            effectImage.fillAmount = 0;
            cdButton.interactable = true;
        }
    }
    public void FireSkillHyp()
    {
        Debug.Log("技能使用");
        leftTime = totalTime;
        cdButton.interactable = false;
        effectImage.fillAmount = 1;
    }
}

另外,这里我们还需要把脚本中FireSkillHyp这个事件添加到Button中
来自:https://blog.csdn.net/tianduyingcai0113/article/details/77693299

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论