如果你接触过lua这种小巧的脚本语言,你就会经常接触到一个叫做协程的神奇概念。大多数脚本语言都有对协程不同程度的支持。但是大多编译语言,如C/C++,根本就不知道这样的东西存在。当然也很多人研究如何在编译语言实现协程的实现,轮子一个又一个的被发明。酷壳这篇文章《一个“蝇量级” C 语言协程库》说.....
分类:
其他好文 时间:
2014-08-22 12:14:56
阅读次数:
292
今天在做关于延时的效果。Unity好像是没有子线程,我不知道自己理解的对不对,不过当前的理解能解释通效果就好,哈哈。协程,协助线程。看代码
void Update(){ Debug.Log("1"); StartCoroutine("WaitSomeSeconds") ;
//StartCoroutine(WaitSomeSeconds(...
分类:
其他好文 时间:
2014-08-17 22:53:23
阅读次数:
266
1. 协程 在Unity 3D中,我们刚开始写脚本的时候肯定会遇到类似下面这样的需求:每隔3秒发射一个烟花、怪物死亡后20秒再复活之类的。刚开始的时候喜欢把这些东西都塞到Update里面去,就像下面这样写。 1 float nowTime = 3.0f; 2 bool isDead = tru...
分类:
其他好文 时间:
2014-08-16 12:29:00
阅读次数:
246
从今天起开始正式学习Unity3d!!!!下面记录Monobehaviour相关内容。Monobehaviour执行顺序,图示很清晰,简单明了,可以通过此图洞悉协程(coroutine)的运行机制。
分类:
其他好文 时间:
2014-08-14 16:15:38
阅读次数:
1876
Unity里的Coroutine在帮助我们实现序列化事件时尤其方便。可以让事件依次发生,可以让事件A等待事件B结束后才开始执行。
但需要厘清几个基本概念。
Coroutines不是多线程,不是异步技术。Coroutines都在MainThread中执行,且每个时刻只有一个Coroutine在执行。 Coroutine是一个function,可以部分地执行,当条件满足时,未来会被再次执行直到整个...
分类:
其他好文 时间:
2014-08-14 14:06:28
阅读次数:
266
StartCoroutine和yield return表面意思很好理解,StartCoroutine就是开启一个协程,yield return 是迭代器块返回调用迭代的地方。是吧?不知道你什么感觉,反正我觉得,还是需要深入研究一下的。OK,here we go!首先,先看一下StartCorouti...
分类:
其他好文 时间:
2014-08-13 18:23:06
阅读次数:
474
前言:今天就写点gevent的高级点的用法,对于我来说这些也是常用的gevent模块。gevent的AsyncResutl模块的用途,看字眼的意思是一个异步的任务的结果。其实官方的说法也让人有些发蒙。其实说白了就是协程间的通信,我是老板,让大哥和小弟同事去收账,小弟做完了后,会等大哥来..
分类:
其他好文 时间:
2014-08-11 10:18:52
阅读次数:
346
StartCoroutine在unity3d的帮助中叫做协程,意思就是启动一个辅助的线程。在C#中直接有Thread这个线程,但是在unity中有些元素是不能操作的。这个时候可以使用协程来完成。使用线程的好处就是不会出现界面卡死的情况,如果有一次非常大量的运算,没用线程就会出现假死的情况。下面通过一...
分类:
编程语言 时间:
2014-07-26 00:18:26
阅读次数:
244
这是我google unity3D一个问题偶然发现的在stackflow上很有趣的帖子:
大意是 要在unity3D上从服务器下载一个zip,并解压到持久化地址.并将其加载到内存中.下面展示了这种用法:
IEnumerator LongCoroutine()
{
yield return StartCoroutine(DownloadZip());
ExtractZip()...
分类:
编程语言 时间:
2014-07-25 11:24:41
阅读次数:
324
文章出处:http://blog.csdn.net/lanphaday/archive/2010/03/19/5397038.aspx 协程,又称微线程和纤程等,据说源于 Simula 和 Modula-2 语言(我没有深究,有错请指正),现代编程语言基本上都有支持,比方 Lua、ruby 和最新的...
分类:
其他好文 时间:
2014-07-24 21:56:12
阅读次数:
216