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

推荐订阅源

Engineering at Meta
Engineering at Meta
T
Threatpost
P
Palo Alto Networks Blog
NISL@THU
NISL@THU
O
OpenAI News
Project Zero
Project Zero
G
GRAHAM CLULEY
P
Privacy International News Feed
A
Arctic Wolf
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
D
Docker
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
W
WeLiveSecurity
P
Proofpoint News Feed
腾讯CDC
Cloudbric
Cloudbric
S
Secure Thoughts
C
Check Point Blog
博客园 - Franky
T
The Exploit Database - CXSecurity.com
T
Troy Hunt's Blog
GbyAI
GbyAI
Security Archives - TechRepublic
Security Archives - TechRepublic
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
TaoSecurity Blog
TaoSecurity Blog
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
F
Fortinet All Blogs
博客园 - 叶小钗
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
C
Cisco Blogs
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 阿土仔

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;

}