Unity定时器

news/2024/6/28 6:36:18

需求是在项目中,会遇到很多倒计时功能,比如在线时间奖励,pve活动间隔5分钟

总结常见解决方法有三种

1.Update()每帧检查,适合用于界面上显示具体的数值,这是了准确性。在用户体验倒计时是最好的选择。

2.this.Invoke( string methodName,float time);

Invoke()的作用是:在应用程序的主线程上执行指定的委托。一般应用:在辅助线程中修改UI线程( 主线程 )中对象的属性时,调用this.Invoke();
public bool Invoke(string methodName);
void Invoke(string methodName);
void InvokeRepeating(string methodName, float time, float repeatRate); 第二个参数是延迟多少秒执行,第三个参数是要执行间隔秒数。
this.CanacelInvoke();还有this.CancelInvoke(string methodName);取消方法

3.IEnumerator () 利用协程中返回需要等待的时间。

WaitForSeconds(float time);

协程的启用方法,StartCoroutine(string name); stopCoroutine(strinf name);

1.在线时间奖励和pve活动时间的间隔是用第2种方法。因为在UILabel上会显示数值到计时 
2.聊天的时间间隔是使用第一种方法的。原因我接手之前就是这样写的,从时间间隔上,update是比较准确的。 
3.在系统的弹幕的定时发送使用了第三种方法,原因是玩家不需要看到倒计时的显示。比如每三分发一次。只要能在大概时间上执行一次。在实现系统弹幕功能的是,系统指令删除的时候,忘了停用携程。

共同点是这三个方法都是继承MonoBehaviour。

协程的作用一共有两点:1)延时(等待)一段时间执行代码;2)等某个操作完成之后再执行后面的代码。总结起来就是一句话:控制代码在特定的时机执行。 
协程不是线程,也不是异步执行的。协程和 MonoBehaviour 的 Update函数一样也是在MainThread中执行的。使用协程你不用考虑同步和锁的问题。


http://www.niftyadmin.cn/n/4204511.html

相关文章

编写高性能 Web 应用程序的10个技巧

常见的 ASP.NET 性能神话 有用的 ASP.NET 性能技巧和诀窍 在 ASP.NET 中处理数据库的一些建议 缓冲以及用 ASP.NET 进行后台处理 本文使用下列技术:ASP.NET,.NET 框架,IIS   用 ASP.NET 编写 Web 应用程序其轻松程度令人难以置信。它是…

java语言编程的风格_什么是良好的编程风格(Java编程)

展开全部Java编程风格与命名规范整理基本命名规范1.包命名包名按照域名的范围从e69da5e887aa62616964757a686964616f31333431353963大到小逐步列出,恰好和Internet上的域名命名规则相反。由一组以“。”连接的标识符构成,通常第一个标识符为符合网络域名…

vue.js中实现在弹框外有鼠标点击事件时隐藏弹框

mounted() {// 监听页面的点击事件,如果鼠标在pop弹出框和按钮外点击,那么让弹出框不显示document.onclick () > {let e e || window.event;let elem e.srcElement || e.target;while (elem) {if (elem.id "headerSearch" || elem.id …

C#中的IDisposable模式用法详解

篇文章主要介绍了C#中的IDisposable模式用法,讲述了垃圾资源回收机制的实现,并对比分析了Dispose()方法、~DisposableClass()析构函数、虚方法Dispose(bool disposing)的原理,需要的朋友可以参考下本文实例讲述了C#中IDisposable模式的用法,针对垃圾资源的回收进行了…

java属于面相_Java面试笔试之面相对象技术(一)

一、基本概念1.1 面相对象的三大特性继承、封装、多态。(1)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类…

vue中elementui command绑定变量对象方法

需求&#xff1a;点击下拉框&#xff0c;切换组&#xff0c;选中当前项 <el-dropdown trigger"click" class"child-controllerChild"command"(command) >handleDispatchTabClickBoxCommand(command)"><img class"child-iconAnd…

浮动图片(JS)

代码作用&#xff1a;鼠标上移到图片上时&#xff0c;图片浮动显现&#xff0c;就像是Apple的浮动菜单一样的效果。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">&l…

vue组件和js实现鼠标悬停显示title效果

需求&#xff1a; 显示文本内容过长&#xff0c;显示…鼠标悬浮时&#xff0c;全部显示 使用element组件<el-tooltip offset"-2" class"item" effect"dark" placement"top"> <span class"dispatchSystemAddressBookIt…