关于Unity中定时器的简易使用
定时器
一段指定的时间后执行某个函数或者某个语句
用法
//定时器写法1
flaot total_time;
void Update(){
this.total_time += (Time.deltaTime);
if(total_time > = )//5秒后停止
{
return;
}
}
//定时器写法2
void Hello(){ }
this.Invoke("Hello",5.0f);//5秒后执行Hello函数
void Hello(){ }
this.InvokeReapting("Hello",,);//每隔3秒调用一次Hello函数
this.CancelInvoke("Hello");//取消重复定时器
//定时器写法3
协程的定时中断
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class game : MonoBehaviour
{
private int level = ;
// Use this for initialization
void Start()
{
//启动一个协程,必须是继承自MonoBehaviour才能使用
this.StartCoroutine(this.con_entry()); //主线程依然在执行
//...
} //协程和主线程是在同一个线程里面的,不会有什么线程切换
//协程的入口函数
IEnumerator con_entry()
{
//协程的代码
Debug.Log("con_entry run!!");
Debug.Log("level:" + this.level);//也能够拿到this的变量
//end yield return new WaitForSeconds();//定时,使用yield中断协程程序,设置3秒中之后才中断协程 //协程结束以后的代码,比如去网上捞一个什么东西,下载图片之类的,捞完之后的操作
//end
} // Update is called once per frame
void Update()
{ }
}
//定时器写法4
多线程里面的线程休眠方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading;//多线程要用到的库,多线程对象所在的名字空间 public class game : MonoBehaviour
{
// Use this for initialization
void Start()
{ //创建一个线程t1,关联入口函数
Thread t1 = new Thread(this.thread_run);//不是像协程那样直接运行
t1.Start();//这里才开始执行,开启线程 } //线程t1的入口函数
void thread_run()
{
int i = ;
while (i < )
{//打印10次,每次直接间隔3秒
Debug.Log("thread_run");
i++;
Thread.Sleep();//让线程休息3秒钟,有点像定时器,里面参数是毫秒为单位的
}
} // Update is called once per frame
void Update()
{ }
}
关于Unity中定时器的简易使用的更多相关文章
- Unity中的定时器与延时器
JavaScript中的定时器与延时器,分别是 setInterval.setTimeout,对应的清理函数是:clearInterval.clearTimeout. 而在Unity中,则分别是:In ...
- 浅谈unity中gamma空间和线性空间
转载请标明出处:http://www.cnblogs.com/zblade/ 一.概述 很久没有写文章了,今天写一篇对gamma空间和线性空间的个人理解总结,在查阅和学习了各个资料后,算是一个个人笔记 ...
- 在Unity中检测死循环和卡死
当游戏在手机/模拟器上卡死,logcat没有日志输出,也没有卡死堆栈信息或者bugly也没有捕获到异常,你是否很焦急?本文介绍一下我们项目中检测Unity卡死的方法,也许适合你使用. 实现原理 在绝大 ...
- Unity中使用Attribute
Attribute是c#的语言特性 msdn说明如下: The Attribute class associates predefined system information or user-def ...
- 在Unity中使用UGUI修改Mesh绘制几何图形
在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas ...
- Unity中使用WebView
Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数.和Unity交互,在Unity框架下其实有几种方案: 内置函数Appli ...
- Unity中创建二维码
在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...
- 在Unity中创建可远程加载的.unity3d包
在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...
- 【原创翻译】初识Unity中的Compute Shader
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...
随机推荐
- Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写
前面一篇介绍了从新建工程一直到编写代码进行行为仿真,这篇继续进行介绍. 修改器件型号 新建工程时选择过器件型号,如果新建好工程后需要修改型号,可以选择菜单Tools - Project Setting ...
- zabbix 对服务器的负载做监控
# cat /etc/zabbix/zabbix_agentd.d/average.conf UserParameter=average[*],uptime|awk '{print $NF}' 自定义 ...
- Virtual Memory$$memory-mapped-files
Virtual Memory http://csapp.cs.cmu.edu/2e/ch9-preview.pdf https://howtodoinjava.com/java-7/nio/java- ...
- select元素添加option的add()方法 | try{}catch{}
1.javascript中的select元素添加option使用add()方法 select的add方法,第一个参数是需要被添加的option元素,第二个参数决定了被添加的位置 普通浏览器中,第二个参 ...
- 不可恢复的生成错误mergemod.dll 2.0.2600.0
在进行Visual Studio 2008 进行Winform打包时,提示 不可恢复的生成错误,很是郁闷,1.在“开始 - 运行” 中输入以下内容分三次来重新注册下Mergemod.dll. regs ...
- 微信公众号抢现金红包活动的核心代码分析(asp.net C#)
今年春节微信抢红包,我想各位都还记得.最近很多商家也在使用公众号给粉丝发红包,做营销活动.吸粉活动或者是反馈老用户等. 我们作为第3方开发者,就义不容辞的来给这些商家服务了.首先我们得会使用程序来写抢 ...
- 【甘道夫】HBase基本数据操作详解【完整版,绝对精品】
引言 之前详细写了一篇HBase过滤器的文章,今天把基础的表和数据相关操作补上. 本文档参考最新(截止2014年7月16日)的官方Ref Guide.Developer API编写. 所有代码均基于“ ...
- 【内核】几个重要的linux内核文件
Preface 当用户编译一个linux内核代码后,会产生几个文件:vmlinz.initrd.img, 以及System.map,如果配置过grub引导管理器程序,会在/boot目录下看到这几个文件 ...
- iOS增加pch预加载文件
1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File ...
- CentOS 7 下安装 Nginx(转)
转载自:http://www.linuxidc.com/Linux/2016-09/134907.htm 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Wi ...