当前位置: 首页 > news >正文

财务网站建设手机优化专家

财务网站建设,手机优化专家,营销型网站搭建公司,国际新闻最新消息2022今天今天来总结下Unity自带的一些可以操控时间的方法。 1、Time.time。比较常用计算运行时间而触发特定事件。 public class Controller : MonoBehaviour {public float eventTime 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startT…

今天来总结下Unity自带的一些可以操控时间的方法。

1、Time.time。比较常用计算运行时间而触发特定事件。

public class Controller : MonoBehaviour
{public float eventTime = 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startTime = Time.time; // 记录游戏开始的时间}private void Update(){if (Time.time - startTime >= eventTime){// 达到触发事件的时间,执行特定事件DoSomething();}}private void DoSomething(){// 特定事件Debug.Log("Event triggered!");}
}

2、Time.deltaTime,参考这篇笔记:关于Unity Time.deltaTime的理解和使用-CSDN博客

3、WaitForSeconds,协程。延时最适合。

public class Controller : MonoBehaviour
{    private void Start(){StartCoroutine(DelayCoroutine());}private IEnumerator DelayCoroutine(){       yield return new WaitForSeconds(1f);Debug.Log("我延迟了1秒");        }
}

4、Time.timeScale,这个属性可用于控制游戏的时间流逝速度。将其设置为1表示正常速度,大于1表示加速,小于1表示减速,设置为0表示暂停。如下面模拟加减速的一个案例:

using UnityEngine;
using UnityEngine.UI;public class Controller : MonoBehaviour
{public float accelerationTime = 1f; // 加速时间public float decelerationTime = 1f; // 减速时间public float pauseTime = 1f; // 暂停时间public Image image; // 图片对象private float targetTimeScale = 1f; // 目标时间缩放值private float currentTimeScale = 1f; // 当前时间缩放值private float timeScaleVelocity; // 时间缩放值的变化速度private float rotationSpeed = 500f; // 图片旋转速度private int currentState = 0; // 当前状态,0表示加速,1表示减速,2表示暂停private float stateTimer = 0f; // 状态计时器private void Update(){// 根据目标时间缩放值逐渐调整当前时间缩放值currentTimeScale = Mathf.SmoothDamp(currentTimeScale, targetTimeScale, ref timeScaleVelocity, GetTimeScaleChangeDuration());// 应用当前时间缩放值Time.timeScale = currentTimeScale;// 根据当前时间缩放值调整图片的旋转角度image.rectTransform.Rotate(Vector3.forward, rotationSpeed * Time.deltaTime * currentTimeScale);// 更新状态计时器stateTimer += Time.deltaTime;// 根据当前状态和状态计时器切换目标时间缩放值switch (currentState){case 0: // 加速状态if (stateTimer >= accelerationTime){stateTimer = 0f;targetTimeScale = 0.5f; // 切换到减速状态currentState = 1;}break;case 1: // 减速状态if (stateTimer >= decelerationTime){stateTimer = 0f;targetTimeScale = 0f; // 切换到暂停状态currentState = 2;}break;case 2: // 暂停状态if (stateTimer >= pauseTime){stateTimer = 0f;targetTimeScale = 2f; // 切换到加速状态currentState = 0;}break;}}private float GetTimeScaleChangeDuration(){if (targetTimeScale > currentTimeScale){return accelerationTime; // 如果目标时间缩放值大于当前时间缩放值,则返回加速时间}else{return decelerationTime; // 如果目标时间缩放值小于当前时间缩放值,则返回减速时间}}
}

Unity模拟加减速_哔哩哔哩_bilibili 

5、Time.fixedDeltaTime,物理模拟的固定时间步长。

在Project Settings中Time的Fixed Timestep可设置它的值。

Time.fixedDeltaTime跟Time.deltaTime最大的区别是Time.fixedDeltaTime不受帧率影响,它的时间是固定的。

http://www.yidumall.com/news/62230.html

相关文章:

  • 微信网站制作系统深圳网站建设优化
  • 做网站推广员需要seo优化包括哪些
  • 手机网站推广怎么做关键词排名优化软件价格
  • 网页设计基础教程第七章课后习题济南seo关键词优化方案
  • ps怎么做网站界面设计建个人网站的详细步骤
  • 如何备份网站数据库sem托管公司
  • 企业网站源码英文网站设计与实现毕业设计
  • 网站建设西安网站搭建免费
  • magento官方网站百度竞价点击神器下载安装
  • apache部署多个网站网上教育培训机构
  • 网站建设教程浩森宇特竞价推广怎样管理
  • 对高校网站建设的期待免费b站在线观看人数在哪
  • 成都网站设计制作价格刷赞网站推广免费链接
  • 公安网站建设自查报告公司的公关
  • 江门网站建设公司哪家好广西壮族自治区
  • 重庆网站关键词排名优化排名优化培训
  • 网站建设的经济可行性分析长沙疫情最新消息今天封城了
  • 网站开发软件启动怎么做网络营销推广
  • 网站建设联在百度上怎么卖自己的产品
  • 电子商务网站规划与设计seo服务商技术好的公司
  • 网站建设教程金旭亮软件外包公司好不好
  • b2c网站 架构百度推广后台登录首页
  • 七台河市网站建设周口网站建设公司
  • 济南seo整站优化厂家网站推广文章
  • 网站开发绩效指标关键词出价计算公式
  • 上海正规做网站公司有哪些seo友情链接
  • 自己做网站用花钱么合肥关键词排名工具
  • 阿里服务器怎么做网站服务器吗手游推广平台代理
  • 域名解析网站建设磁力猫官网cilimao
  • 番禺做网站开发怎么样推广自己的网站