了解协程



让你真正的了解Unity的协程(yield)的工作方式!

携程的yield 是等一帧,然后执行下一句 ,但是不影响其他方法的运行,在停止的时候相当于一个线程。

http://www.xuebuyuan.com/1367145.html



 

首先,这是写给有一点编程功底基础的人,才能看懂的,我将以最直观的方法来让你了解协程的工作方式----代码

#pragma strict

function Start () 
{
	print("1");
	a();
	b();
	c();
	d();
	print("4");
}

function Update () 
{
	print("5");
}

function a()
{
	print("2");
	yield;		//等一帧
	print("3");
}
function b()
{
	print("7");
	yield;		//等一帧
	yield;		//等一帧
	print("8");
}
function c()
{
	print("9");
	yield;			//等一帧
	print("10");
}
function d()
{
	print("11");
	yield WaitForSeconds(1);	//等一秒
	print("12");
}

 

结果图:

结果显而易见,协程的可以单独的开辟一条线程,阻塞时,又不影响程序运行,而且又会根据设定的时间来唤醒这条线程,从而达到稍微提升效率的效果,比如说你要写个敌人的AI,写敌人发现玩家的部分,因为要符合人的特性,人不可能很快的做出反应,这个时候你就可以用到它,当然这个功能也能用Update()来实现,但是那个是需要10多行代码来进行计算和判断,而且也不利于维护。

再有一点,就是反应时间的问题,做的AI越像人,那么就应该越符合人的能力,人在某些行为的时候是没有这么快的放映速度的,比如说人睡觉的时候,从背后接近人的时候等等,所以这时候可以4帧或者更长的时间来调用方法来检测,也是很符合实际的,这样照理来说会提升很多性能。

当然如果我说错了,请大神指正哈,我也好及时修正这篇博客,以免继续误导他人哈

基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值