Unity制作游戏中技能使用后转CD的场景
发表于2018-10-09
游戏中的技能不可能无限释放,需要玩家等到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