Unity 脚本基础一文通(三)

本文介绍了Unity中关于时间控制的基础知识,包括Time API的使用,如time、deltaTime、timeScale、fixedDeltaTime和unscaledDeltaTime。此外,详细讲解了Invoke方法的用法,如延迟执行、周期性执行以及如何取消执行。还探讨了在Update中按固定时间执行动作的三种解决方案。
摘要由CSDN通过智能技术生成

常用API

一.Time

1. time 游戏运行至今的时间 (只读)

游戏运行至今(此帧开始)的时间 (只读) 返回秒的float值.

2. deltaTime 帧时间 (只读)

以秒计算,完成最后一帧的时间(只读)

        void Update()
{
    speed=80;
    transform.Rotate(0,speed*Time.deltaTime,0);
    // print(Time.deltaTime);
}

      

3.timeScale 缩放时间 (浮点型)

缩放时间.适于 暂停, 慢动作或者 快进

        Time.timeScale=0.2f;
      

注意: timeScale只会影响fix update 和 乘了deltatime的组件,不会影响update;

4. fixedDeltaTime

fix update专用的deltatime //常用于解决机器卡顿时的恒定运动

5. unscaledDeltaTime 不受缩放影响的deltatime

        
          Cube8ts
          .
          Rotate
          (
          0
          ,
          speed
          *
          Time
          .
          unscaledDeltaTime
          ,
          0
          );
          //此物体暂停也能动

        
      

二. Invoke 执行函数

1.Invoke(string 函数名, float 延迟时间开始) //延迟一段时间后执行函数

2. InvokeRepeating(string 函数名, float 延迟时间开始,float 重复执行间隔);

//延迟一段时间后每个一段时间执行一次

3.CancelInvoke(string 函数名) //取消执行某个函数


三. 预制件

v2-0cda4652e4a7e613a90bd4a7dc7f4a22_b.jpg

生成方法:将一个Hierarchy面板中的物体拖入project面板

v2-97449d374a6d0f5ebba39f240f131bcb_b.jpg

v2-486034690aaeb64fa41c0814d8cc3e72_b.jpg

附: update中按固定时间执行动作

方案一: 思路:设置一个执行时间,执行后刷新新的执行时间

            private void Update() {
        if(Time.time>=nextTime){
            sec--;
            txt1.text=secToTime(sec);
            nextTime=Time.time+1;
        }
    }

      

方案二: 思路:累加时间,够了之后执行语句,累加清零

            private void Update() {
        timeAdd+=Time.deltaTime;
        if(timeAdd>=1){
            sec--;
            timeAdd=0;
            txt1.text=secToTime(sec);
        }
    }

      

方案三:

            void Start()
    {
        txt1=GetComponent<Text>();
        sec=4000;
        InvokeRepeating("timeShow",0,1);
    }

    void timeShow()
   {
        txt1.text=secToTime(sec);
        sec--;
    }

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值