Unity实现2分钟倒计时并且最后10秒钟字体变红效果

在实现这个效果之前,我们需要UnityEngine.UI这个命名空间,因为我们需要用到Unity UI中的Text组件,在Hierarchy面板右键就可以找到。以下是源码:

public class CountdownDemo : MonoBehaviour
{
    int Countdown = 120;        //总时间
    int minute;
    int second;
    int clock = 0;
    float ctime = 0;            //保存deltaTime和 一秒显示一次
                               
    private void DownTime()     //DownTime方法计算显示的分钟和秒数
    {
        Countdown = Countdown - 1;
        minute = Countdown / 60;
        second = Countdown - 60 * minute;
    }
    private void Update()
    {

        ctime = ctime + Time.deltaTime;
        if (Countdown > 0)  
        {
            if ((int)ctime == 1)
            {
                DownTime();
                string s = clock.ToString("D2")+":"+minute.ToString("D2") + ":" + second.ToString("D2");
                GameObject.Find("Canvas/Text").GetComponent<Text>().text = s;
                ctime = 0;
                if (Countdown == 10)        //当最后十秒后会变红显示
                {
                    GameObject.Find("Canvas/Text").GetComponent<Text>().color = Color.red;
                }
            }
        }

    }
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity实现计时3s,并且在计时结束时将按钮色,可以使用以下步骤: 1. 在场景中创建一个按钮,命名为“CountdownButton”。 2. 创建一个脚本并将其附加到按钮上,命名为“CountdownButtonScript”。 3. 在脚本中添加一个公共量“CountdownTime”,用于设置计时的时间。 4. 在Start()函数中获取按钮的组件,并将其颜色设置为默认颜色。 5. 在Update()函数中使用Time.deltaTime计算剩余时间,并更新按钮的文本。 6. 当剩余时间小于等于0时,将按钮的颜色设置为色。 以下是示例代码: ```csharp using UnityEngine; using UnityEngine.UI; public class CountdownButtonScript : MonoBehaviour { public float CountdownTime = 3.0f; private Button _button; private float _timeLeft; private Color _defaultColor; void Start() { _button = GetComponent<Button>(); _defaultColor = _button.colors.normalColor; _button.colors = new ColorBlock { normalColor = _defaultColor }; } void Update() { _timeLeft -= Time.deltaTime; if (_timeLeft > 0) { _button.GetComponentInChildren<Text>().text = Mathf.CeilToInt(_timeLeft).ToString(); } else { _button.colors = new ColorBlock { normalColor = Color.red }; } } public void StartCountdown() { _timeLeft = CountdownTime; } } ``` 在上面的代码中,我们首先获取按钮的组件,并在Start()函数中将其颜色设置为默认颜色。然后在Update()函数中使用Time.deltaTime计算剩余时间,并更新按钮的文本。当剩余时间小于等于0时,将按钮的颜色设置为色。最后,我们添加一个公共函数“StartCountdown()”,用于启动计时
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值