协程

有关Unity协程的说明详见官方Manual(官方文档写的非常详细,也有很多协程的例子,墙裂推荐入门选手反复咀嚼,不过有点考量英文水平,所以英语对程序员的重要性不用多说了)

具体实现

直接上代码:

// StartCoroutine (Func());   <--  This is the call in the function for update.
//make sure use this method to call coroutines.IEnumerator Func(){while(true)// or for(i;i;i){yield return new WaitForSeconds(2.0f); // first//Specific functions put here Debug.Log(Time.time);   // then// Note the order of codes above.  Different order shows different outcome.}}

具体用法上面注释已经写清楚了,上面这种写法会显示0s,2s,4s……,如果yield在前则会输出2s,4s……效果如下图(精准度受到unity帧率和秒整数不能对齐的限制

协程也是在线程内的,所以也会逐帧调用,只不过通过 “yield+等待时间” 的方式暂时挂起,来实现一个延时的效果
还有其他的延时重复效果,例如 if (Time.time取余) 嵌套等,个人感觉没有协程效果好所以这里不作推荐。


另外一种我感觉比较好的方式是利用deltatime
代码如下:

    private float passedTime; // default 0public float targetTime;  // set time interval//Repete();   <-This is the call in the function for update.void Repete(){if(passedTime>targetTime){//  put function hereDebug.Log(Time.time);//passedTime = 0; //enter next loop}passedTime += Time.deltaTime;

这种方式没有用到协程,仅仅利用线程中每一帧的刷新
deltatime的用途很广,详细的原理建议参考这个博文
由于update的刷新频率受到游戏帧率影响,fixupdate不是很稳定(具体可以参考这篇,作者写的很详细)所以上面这种方法是很实用的


后续方法有改进会及时更新,欢迎指正!

Unity 实现每隔一段时间重复执行相关推荐

  1. python可以实现的功能_Python 实现某个功能每隔一段时间被执行一次的功能方法...

    本人在做项目的时候遇到一个问题: 某个函数需要在每个小时的 3 分钟时候被执行一次,我希望我 15:45 启动程序,过了18 分钟在 16:03 这个函数被执行一次,下一次过 60 分钟在 17:03 ...

  2. 每隔一段时间自动执行一次某个方法(使用线程)[C#]

    c#里,怎么让一个方法事件每隔一段时间自动执行一次?能用线程来实现吗?怎么实现? 比如:SendToService这个方法,要每隔10秒钟自动执行一次. 下面是我总结的方法: //定义线程 Threa ...

  3. Java 实现 Springboot 定时任务(每隔一段时间自动执行一次)

    Java实现非Web项目的Springboot定时任务(每3秒自动执行一次) 前言 一.新建Java Springboot项目 二.示例代码 运行效果 总结 前言 运行非Web的Springboot项 ...

  4. setTimeout() 实现程序每隔一段时间自动执行

    定义和用法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 参数 描述 code 必需.要调用的函数后要执行的 Ja ...

  5. TLS 改变密码标准协议(Change Cipher Spec Protocol) 就是加密传输中每隔一段时间必须改变其加解密参数的协议...

    SSL修改密文协议的设计目的是为了保障SSL传输过程的安全性,因为SSL协议要求客户端或服务器端每隔一段时间必须改变其加解密参数.当某一方要改变其加解密参数时,就发送一个简单的消息通知对方下一个要传送 ...

  6. java每隔一段时间执行_8.Android中,每隔一段时间执行某一个任务(Timer)

    1,在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和 TimerTask. Tim ...

  7. JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。

    编写程序实现如下功能:一个线程进行如下运算12+23+34+--+1920,而另一个线程则每隔一段时间读取前一个线程的运算结果. class Count{private int sum;Count(i ...

  8. centos网络隔一段时间就断_“路由器隔一段时间就上不了网,断一下电又能用了,这是什么原因...

    有人留言问:"路由器隔一段时间就上不了网,断一下电又能用了,这是什么原因?"具体原因具体分析,下面和北京宽带通一起来看下这三种情况. 1.隔几十分钟就断网,有时候甚至隔几分钟就断一 ...

  9. 总结以下三种方法,实现c#每隔一段时间执行代码:

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...

最新文章

  1. SCDPM2012功能测试(4)—配置通知
  2. 二叉搜索树的插入与删除图解
  3. 用Android打出马奔跑的动画,一款非常好用的动画库Lottie
  4. 关于BeautifulSoup写class和class_
  5. 为什么linux桌面很刺眼,屏幕实在太亮了,眼睛都快瞎了,真心试了各种方法无效后才来问....
  6. RemoteApp登录到特定的域
  7. java中的scanner用法
  8. .Net中消除Dll中的dependency
  9. 新软件--AutoReply(自动回复),还能自动接听,做答录机
  10. 51中断实验与流水灯protues仿真
  11. finereport java无符合资料_Java报表工具FineReport常见的数据集报错错误代码和解释...
  12. ALM需求跟踪矩阵导出出错解决
  13. anaconda安装多环境
  14. 两个日期相差月数计算公式
  15. format格式化输出
  16. Unity3D学习之打飞碟游戏
  17. xml文件加密和解密
  18. 计算机实训word报告,计算机实训报告Mcrosoft Word 文档.doc
  19. bios 刷 灵耀14_华硕灵耀14 2020深度体验——这才是正统轻薄本
  20. 微软超级麻将AI Suphx,破解非完美信息游戏

热门文章

  1. java dcompiler 破解,小编教你解决win7系统玩鬼泣5提示计算机中DCOMPILeR_43.dll的恢复方案...
  2. 超级简单的永久关闭广告弹窗
  3. moviepy音视频剪辑:使用mask遮罩实现视频叠加透明效果
  4. ssh提交服务器不能删除文件夹,ssh下命令不能删除非空文件夹的解决方法
  5. Netty实战:Springboot+Netty+websocket优雅的高性能服务器 (附源码下载)
  6. 关于fi dd ler 手机抓包 网卡地址地址_ApkCrack 一键生成支持 Android 7.0 抓包的 apk...
  7. Day03-java流程控制-->switch选择结构
  8. 2021年最新PHP 面试、笔试题汇总(一)
  9. 2009年11月2日
  10. Linux下的ip命令