/*
* 协程:在Unity主线程运行时,开启另外一段逻辑来协助当前程序的执行
* unity协程是一个能够暂停程序执行,暂停会返回主函数(协程所在的函数),执行主函数剩余的部分,直到中断指令完成后,从中断指令的下一行继续执行协程剩余的函数,函数体全部执行完,协程结束
*
* 调用协程
* StartCoroutine(函数名(参数列表))
* StartCoroutine("函数名",参数列表)
*
* 暂停协程
* StopCoroutine(函数名(参数列表));
* StopCoroutine("函数名",参数列表);
* StopAllCoroutines():关闭所有协程
*
*
* 协程执行程序
* 开始协程-》执行协程-》遇到中断指令,中断协程-》返回上层函数,继续执行上层函数的下一行代码-》中断指令结束后,继续执行中断指令之后的代码-》协程结束
*
* 协程关闭的方式一定要与协程开启的方式一致
*
* yield null:协程将在下一帧所有脚本的update执行完后,再继续执行
* yield WaitForSeconds:协程在延迟指定时间,且当前帧所有脚本的update全部执行完后才会继续执行 当timescale=0,是不会执行
* yield WaitForFixedUpdate:协程在所有脚本的fixedupdate执行完后,再继续执行
* yield WWW:协程在www下载资源完成后,再继续执行
* yield StartCoroutine:协程在指定协程结束后,再继续执行
* yield WaitForSecondsRealtime:协程在延迟指定时间,且当前帧所有脚本的update全部执行完后才会继续执行,不受时间缩放影响的
用协程嵌套实现定时输出10组5次的计数
* 碰撞三阶段
* 碰撞的必要条件:双方带有碰撞体,其中运动的一方带有刚体组件
* 碰撞三阶段
* OnCollisionEnter(Collision col):当碰到的一瞬间
* OnCollisionStay(Collision col):持续碰撞
* OnCollisionExit(Collision col):离开碰撞
*
* 触发三阶段
* 触发的必要条件:双方带有碰撞体,其中运动的一方带有刚体组件,并且将物体Collision的Is Trigger勾选上
* 触发三阶段
* OnTriggerEnter(Collider col):当触发到的一瞬间
* OnTriggerStay(Collider col):持续触发
* OnTriggerExit(Collider col):触发结束
*
* 碰撞体和触发器的关系
* 碰撞体是触发器的载体,触发器是碰撞体的属性
通过代码挂载到运动的物体上检测碰撞(触发)