关于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
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...
随机推荐
- Atitti opencv2.4 实现的人脸检测 attilax总结
Atitti opencv2.4 实现的人脸检测 attilax总结 1.1. 1.OpenCV人脸检测的方法1 1.2. /atiplat_img/src/com/attilax/facedetec ...
- 第7讲 SPI和RAM IP核
学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写 ...
- BLIST,BindingSource
//gridControl1.DataSource = BList; //BindingSource bs = new BindingSource(); //bs.DataSource = BList ...
- 【Unity】第10章 Mecanim动画系统
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Unity提供了两种动画系统:一种是早期版本提供的旧版(Legacy)动画系统,旧版本(Legacy)以后将逐步被淘汰掉 ...
- flexb布局图解
- TCP/IP 三次握手,温故知新
今天看网络编程.又又一次看了一遍三次握手.曾经只知道连接有三次握手.今天发现原来断开也有三次握手. 三次握手:指通信两方彼此交换三次信息. 三次握手是在存在数据报丢失.反复和延迟的情况下,确保通信两方 ...
- js 动画3 完美框架
js 框架: function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ ret ...
- Theories of Deep Learning
https://stats385.github.io/readings Lecture 1 – Deep Learning Challenge. Is There Theory? Readings D ...
- 高性能网络编程3----TCP消息的接收
高性能网络编程3----TCP消息的接收 http://blog.csdn.net/russell_tao/article/details/9950615 http://blog.csdn.net/c ...
- non-deterministic-turing-machine
https://stackoverflow.com/questions/13524011/i-do-not-understand-the-concept-of-non-deterministic-tu ...