惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
F
Fortinet All Blogs
U
Unit 42
F
Full Disclosure
雷峰网
雷峰网
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
罗磊的独立博客
D
DataBreaches.Net
C
Check Point Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
O
OpenAI News
C
CXSECURITY Database RSS Feed - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Hacker News
The Hacker News
Webroot Blog
Webroot Blog
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News | PayPal Newsroom
P
Proofpoint News Feed
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
C
Cybersecurity and Infrastructure Security Agency CISA
N
News and Events Feed by Topic
Google Online Security Blog
Google Online Security Blog
H
Help Net Security
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
M
MIT News - Artificial intelligence
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
MyScale Blog
MyScale Blog
腾讯CDC

博客园 - 阿土仔

Unity 2019中对象池的用法 Unity UGUI动态生成控件 Unity场景间数据传递方法 UGUI防止穿透和判断点击的是否是UI Unity中的Character Controller Unity插件研究-EasyTouch V5 Unity塔防游戏的创建 Unity性能优化-DrawCall Unity性能优化-对象池 Unity性能优化-音频设置 Unity性能优化-遮挡剔除 Unity异步加载场景 HBuilder git使用-分工合作 HBuilder git合作-代码同步 微信小程序开发-窗体设置 HBuilder git合作-从Git Hub Clone项目 HBuilder git合作-上传项目到Git Hub 微信小程序开发-tabbar组件 HBuilder git使用-建立仓库,邀请用户
Unity 协程
阿土仔 · 2019-07-09 · via 博客园 - 阿土仔

   1.  协程不是多线程,见官方图,它发生在LateUpdate()之后的

   2.  定义协程的方法,写个方法,它必须返回IEnumerator 接口,可带参数,也可以不带参数;

   3.  启动协程StartCoroutine方法,

                 StartCoroutine("方法名")或StartCoroutine("方法名",相应的参数)

                 StarrtCoruntine(方法名())

   4.停止协程

              StopCoroutine("方法名"); 或StopAllCoroutines();

   5.协程中常用的一些语句:

IEnumerator Test()
{
//等待下一帧Update之后,继续执行后续代码
yield return null;

//等待在所有相机和GUI渲染之后,直到帧结束,继续执行后续代码
yield return new WaitForEndOfFrame();

//等待下一个FixedUpdate之后,继续执行后续代码
yield return new WaitForFixedUpdate();

//等待3秒之后,继续执行后续代码,使用缩放时间暂停协程执行达到给定的秒数
yield return new WaitForSeconds(3.0f);

//等待3秒之后,继续执行后续代码,使用未缩放的时间暂停协程执行达到给定的秒数
yield return new WaitForSecondsRealtime(3.0f);

//等待直到Func返回true,继续执行后续代码
//yield return new WaitUntil(System.Func<bool>);
yield return new WaitUntil(() => true);

//等待直到Func返回false,继续执行后续代码
//yield return new WaitWhile(System.Func<bool>);
yield return new WaitWhile(() => false);

//等待新开启的协程完成后,继续执行后续代码,可以利用这一点,实现递归
yield return StartCoroutine(Test());

//for循环
for (int i = 0; i < 10; i++)
{
Debug.Log(i);
yield return new WaitForSeconds(1);
}

//while循环,while(true):如果循环体内有yield return···语句,不会因为死循环卡死
int j = 0;
while (j < 10)
{
j++;
Debug.Log(j);
yield return new WaitForSeconds(1);
}

//终止协程
yield break;

}