关于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
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...
随机推荐
- 菜鸟学SSH(八)——Hibernate对象的三种状态
前面写了几篇关于SSH的博客,但不是Struts就是Spring,Hibernate还从来没写过呢.说好是SSH的,怎么可以光写那两个,而不写Hibernate呢对吧.今天就先说说Hibernate对 ...
- 关于casperjs的介绍
casperjs是一个自动化测试框架,功能强大,也很适合当做爬虫软件使用,casperjs基于phantomjs软件,phantomjs是一个没有界面的浏览器环境,基于python环境 一,安装cas ...
- FFmpeg(1)-创建支持FFmpeg的AS项目
一.新建Android Studio项目 注意点: 1.在“Create Android Project”栏目时,须勾选“Include C++ support” 复选框: 2.在“Customize ...
- AI 技术咖们说,进入未来世界首先需要一个“虚拟的我” | 科技生活节倒计时8天
http://www.tmtpost.com/3367762.html 未来世界是什么样子? 斯皮尔伯格在<头号玩家>中构建了一个充满科技感.富有浓烈浪漫主义色彩的虚拟世界.戴上VR眼镜, ...
- Unity3d中默认函数调用顺序(MonoBehaviour)
首先要明确的是MonoBehaviour是每个脚本的基类.每个Javascript脚本自动继承MonoBehaviour.使用C#或Boo时,需要显式继承MonoBehaviour. ...
- 此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库
警告:此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库.要在没有运行时共享库的情况下进行编译,请将 -static-link-runtime-shared ...
- MyBean-关于单实例插件
单实例插件可以通过两个途径实现 第一个在注册时注册成单实例 beanFactory.RegisterBean(pvPluginID: String; pvClass: TClass; pvSi ...
- Python+SparkStreaming+kafka+写入本地文件案例(可执行)
从kafka中读取指定的topic,根据中间内容的不同,写入不同的文件中. 文件按照日期区分. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Tim ...
- 词袋模型bow和词向量模型word2vec
在自然语言处理和文本分析的问题中,词袋(Bag of Words, BOW)和词向量(Word Embedding)是两种最常用的模型.更准确地说,词向量只能表征单个词,如果要表示文本,需要做一些额外 ...
- 火狐FireFox57不支持Tab Mix Plus插件的问题
火狐的Tab Mix Plus插件管理标签页很好用,但是在这次升级到57版本后不能用了,也没找到合适的替代品. 该插件一个很常用的功能是在新建的标签页打开网页(而不是在当前页上跳转),该功能直接修改C ...