Unity—常用API(续Time类)

2023-11-13

今天整理了Time类!

+一张很有意思的理解API的图

(此图灵感来源于 如何理解API,API 是如何工作的_仁杰兄的博客-CSDN博客_api

 

目录

Time

练习:使用Text制作倒计时预制体

*在Update每帧执行的方法中,个别语句实现指定间隔执行一次


Time

Time.time以秒计算,从游戏开始的时间

Time.deltaTime 每帧消耗的时间(每帧的时间间隔)

Public void Update()//渲染更新

{ 在渲染帧中做速度恒定的移动、旋转

//每渲染帧执行一次,旋转一度

//帧多 —>1秒旋转速度快 希望1帧旋转量小

//帧少 —>1秒旋转速度慢 希望1帧旋转量大

This.transform.Rotate(0,1*Time.deltaTime,0)

}

旋转速度*每帧消耗时间,可以保证旋转速度不受渲染影响

或者

public void FixedUpdate()//物理更新

{

this.transform.Rotate(0,1,0);

)

Time.timeScale受缩放影响的每帧间隔

Time.timeScale=0游戏暂停  Time.timeScale=1继续游戏

物体在FixedUpdate()移动,点“暂停”、“继续”都好使

(即便Time.timeScale没有在FixedUpdate()里)

因为FixedUpdate()固定时间执行一次,与渲染无关,受Time.timeScale影响

在Update()里不好使,因为Update()渲染场景时执行,不受Time.timeScale影响,但Time.deltaTime会受到Time.timeScale影响

需求:游戏暂停以后,个别物体不受影响

在Updete中做

用this.transform.Rotatel(0,1*Time.unscaledDeltaTime,0)

Time.unscaledDeltaTime 不受缩放影响的每帧间隔

练习:使用Text制作倒计时预制体

从02:00开始,最后10秒字体为红色,时间为00:00后停止

最后10秒字体为红色—>

Hierachy右键—>UI—>Text

 

引用using UnityEngine.UI;

If(second<=0)

txtTimer.color=Color.red;

时间为00:00后停止—>

If(second<=0)

CancelInvoke(“Timer”)//取消调用某个方法

思路:

1.查找组件引用

2.定义变量:秒

3.120—>02:00

       119—>01:59

4.修改文本

5.如何每秒修改一次

*在Update每帧执行的方法中,个别语句实现指定间隔执行一次

方法一:Time.time

 private float nextTime = 1;//下次修改时间

 private void Update()

    {

       if (Time.time >= nextTime)

        {

            second--;

            txtTimer.text = string.Format("{0:d2}:{1:d2}", second / 60, second % 60);

            if (second <= 10)

                txtTimer.color = Color.red;

            //设置下次修改时间

            nextTime = Time.time + 1;//每隔一秒执行一次

        }

}

适合做发射子弹,按左键就发射,之后蓄力(等待时间)限制频率

方法二:Time.deltaTime

private float totalTime;//累计每帧的间隔

private void Update()

    {

         totalTime += Time.deltaTime;

        if (totalTime >= 1)

        {

            second--;

            txtTimer.text = string.Format("{0:d2}:{1:d2}", second / 60, second % 60);

            totalTime = 0;

        }

}

先等待后做事

方法三:InvokeRepeating()

//重复调用(被执行的方法名称,第一次执行时间,每次执行间隔)

 void Start()

    {

 InvokeRepeating("Timer", 1, 1);

    }

private void Timer()

    {

            second--;

            txtTimer.text = string.Format("{0:d2}:{1:d2}", second / 60, second % 60);

    }

Invoke(被执行的方法,开始调用的时间)

代码实现:

using System.Collections;

using System.Collections.Generic;

using UnityEngine ;

using UnityEngine.UI;

public class TimeDemo : MonoBehaviour

{

    private Text txtTimer;

    public int second = 120;

private float nextTime = 1;//下次修改时间

void Start()

    {

        txtTimer = this.GetComponent<Text>();

    }

    private void Update()

    {

        Timer1();

}

 void Timer1()

    {

        if (Time.time >= nextTime)

        {

            second--;

            txtTimer.text = string.Format("{0:d2}:{1:d2}", second / 60, second % 60);

            if (second <= 10)

                txtTimer.color = Color.red;

            //设置下次修改时间

            nextTime = Time.time + 1;

            if(second<=0)

            {

                CancelInvoke("Timer");

            }

        }

}

}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity—常用API(续Time类) 的相关文章

  • UE4 解决景深效果闪烁问题

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态
  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • Unity中级客户端开发工程师的进阶之路

    上期UWA技能成长系统之 Unity高级客户端开发工程师的进阶之路 得到了很多Unity开发者的肯定 通过系统的学习 可以掌握游戏性能瓶颈定位的方法和常见的CPU GPU 内存相关的性能优化方法 UWA技能成长系统是UWA根据学员的职业发展
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity Shader入门精要第七章 基础纹理之遮罩纹理

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一 实践 参考 前言 遮罩纹理 mask texture 是本章要介绍的最后一种纹理 它非常有用 在很多商业游戏中 都可以见到它的身影 那么什么是遮罩呢 简单来讲 遮罩允许我们
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity与Android的Back键冲突解决

    Unity与Android的Back键冲突解决 上一篇的最后留下了两个问题 Unity视图下横屏闪退 Unity视图下Android无法响应back返回上一activity 对于第一个问题 应该是Unity横屏下视图的某些设置跟Androi
  • unity3d大型互动照片墙

    1 本次应客户需求 制作一个大型照片墙互动 输出分辨率为9600 4320 注 unity3d官方推荐最大分辨率为8192 3686 4 经过现场长达24小时暴力测试中途未发生问题 姑且判定可以达到正常标准 废话不多说 先上效果 unity
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w
  • unity3d切换场景Application.LoadLevel(1)含义

    Application LoadLevel 1 场景ID
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • VS2022 | 显示Unreal Engine日志

    VS2022 显示Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志 视图 gt 其他窗口 gt Unreal Engine日志
  • 游戏开发常见操作梳理系列之——玩家信息的显示系统

    在游戏中 有不少游戏在左上角会出现玩家的头像和等级以及血量 这就是玩家的信息显示系统 那么这些是如何制作的呢 接下来我将讲讲代码的操作 其它操作我会在其它笔记中一一说明 敬请期待 信息的显示相当简单就是控制一些UI 然后在其它系统里面填写相
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • Shell函数的7种用法介绍

    1 在shell文件内部定义函数并引用 复制代码代码如下 shell function cat factorial sh bin bash function factorial factorial 1 for i 1 i lt 1 i do
  • 为什么每家公司都需要协作工具?

    前言 企业很多时候 和一个人是一样一样一样的 经营 也和一个人的成长是一样一样一样的 作为企业的管理者 如何健康存续的运营公司 是每个合格CEO不断成长路径上的必修课 就像 谈谈SaaS创业和企业服务的常识 中提到的企业服务常识 今天和大家
  • MySQL要不要容器化?能不能运行在Docker?

    文章目录 概述 数据安全问题 性能问题 状态问题 资源隔离方面 MySQL 其实也是容器化 概述 容器的定义 容器是为了解决 在切换运行环境时 如何保证软件能够正常运行 这一问题 目前 容器和 Docker 依旧是技术领域最热门的词语 无状
  • 嵌入式系统之KPN网络图

    specification model 推荐用于并行程序 进程通过无线规格的FIFO队列进行通信 读 具有破坏性和阻塞 一个进程停留在waiting队列直到它被另外一个进程的通道传输 写 非阻塞 一个进程不能阻止一个通道传输数据 KPN图像
  • MySQL数据库迁移详细步骤

    转载自 http sofar blog 51cto com 353572 1598364 一 背景简介 1 问题描述 由于机房搬迁 需要对后台DB服务器进行迁移 同时为了保证在数据迁移过程中 对线上业务不造成影响 并能够做到秒级切换 如果我
  • 腾讯云服务器部署使用教程_新手入门

    腾讯云服务器使用教程包括注册账号实名认证 选择云服务器CVM或轻量应用服务器CPU内存带宽和系统盘配置 安全设置和云服务器远程连接 安全组端口开通教程 云服务器环境部署以搭建网站为例手把手网站上线 云服务器文件传输和数据备份以及技术支持等详
  • 第1章 Python简介(1)

    第1章 Python简介 Python语言是一种面向对象的解释型高级编程语言 由Guido van Rossum于1989年底发明 第一个公开发行版发行于1991年 目前 Python语言有两个版本 Python 2 x和Python 3
  • stm32控制OLED显示实验(IIC、汉字显示)

    OLED c include stm32f10x h include OLED Font h 引脚配置 define OLED W SCL x GPIO WriteBit GPIOB GPIO Pin 10 BitAction x defi
  • 几种求最小公倍数的方法

    http blog csdn net iwm next article details 7450424 这是原链接 谢谢该博主的分享 写的很不错哦
  • cocoapods的安装与使用心得整理

    一 安装命令 sudo gem install cocoapods pod setup 这个时候需要耐心的等待哈 如果网络慢的话 需要等更久呢 每一行命令都会有回应的 如果遇到报错如下 Error fetching https rubyge
  • range 函数生成可迭代对象,for_in

    range 函数生成可迭代对象 for in range start stop step start 可选参数 默认为 0 表示序列起点 stop 必选参数 表示序列终点 不包括终点 step 可选参数 序列的步长 默认为 1 print
  • 软件自动化测试基本流程(附流程图)

    自动化测试与软件开发过程从本质上来讲是一样的 无非是利用自动化测试工具 相当于软件开发工具 经过对测试需求的分析 软件过程中的需求分析 设计出自动化测试用例 软件过程中的需求规格 从而搭建自动化测试的框架 软件过程中的概要设计 设计与编写自
  • ubuntu安装python3.6 software-properties-common

    gnupg 破坏 software properties common lt 0 96 24 3 but sudo apt install only upgrade gnupg
  • DKVMN学习

    文章目录 前言 Memory Augmented Neural Network MANN for Knowledge Tracing DKVMN模型 实验结果 DKVMN总结 DKVMN BORUTA模型 SKVMN模型 Deep IRT模
  • background-position设置百分比“失效了”!!

    1 background position设置百分比的计算原理 当指定百分比值的时候 实际上执行了以下的计算公式 该公式可以用数学方式定义图片和容器相对位置重合 这是当background size auto 时 百分比有效 contain
  • 组装一台1u服务器

    1 服务器的内存条都是带校验功能的 2 服务器cpu可以多个 一般电脑只有一个
  • NAS个人云存储服务器搭建

    NAS Network Attached Storage 网络附属存储 通过网络提供数据访问服务 可以理解为长时间连网的存储设备 其功能基本和市面上的各种云盘相似 它以数据为中心 将存储设备与服务器彻底分离 集中管理数据 从而释放带家 提高
  • layui 时间选择器laydate开始时间结束时间限制,及设置默认时分秒

    这个时间控件实现了 开始时间和结束时间都不得超过当前时间 结束时间大于开始时间并且小于当前时间 开始时间默认时分秒为00 00 00 结束时间默认时分秒为23 59 59 其他官方自带功能 项目中的需求是 结束时间要大于开始时间 包括时分秒
  • 全网页截图教程,如何截图截全屏

    系统自身的截屏快捷键 台式键盘的电脑 全屏 Ctrl Print Screen 当前窗口 Alt Print Screen 笔记本截图快捷键 FN Prt sc 浏览器自带的 非常好用 在浏览器打开要截取全网页为图片的那个网页 打开那个网页
  • Unity—常用API(续Time类)

    今天整理了Time类 一张很有意思的理解API的图 此图灵感来源于 如何理解API API 是如何工作的 仁杰兄的博客 CSDN博客 api 目录 Time 练习 使用Text制作倒计时预制体 在Update每帧执行的方法中 个别语句实现指