Unity协程与调用函数

协程与调用函数

协程(Coroutine)

定义

//定义协程
 IEnumerator   name () 
// 启动协程
 Public Coroutine StartCoroutine(methodName:String);
 Public Coroutine StartCoroutine(IEnumertator rountine);
 Public Coroutine StartCoroutine(IEnumertator rountine,Object Value);
 //终止协程
 Public Coroutine StopCoroutine(methodName:String);
 Public Coroutine StopCoroutine(IEnumertator rountine);
 Public Coroutine StopCoroutine(IEnumertator rountine,Object Value);
 Public Coroutine StopAllCoroutine();
 //IEnumerator 协程本身
 //methodName 方法名称
 //options 目标方法如果不存在,是否输出错误信息

调用函数(Invoke)

定义

调用函数:Invoke ,每隔多少时间执行一次某方法
重复调用函数:InvokeRepeating , 指定的时间、指定间隔重复调用某方法

语法定义如下:

//启用调用  
public void Invoke(string methodName,float time);	
public void InvokeRepeating(string methodName,float time,float repeatRate);
 //取消调用
public void CancelInvoke();
//判断是否调用
public bool IsInvoking(methodName:string);
 //参数 methodName方法名 Time延时时间 reapeatRate重复间隔时间

区别作用

调用函数:简单,但不够灵活,适合固定时间间隔执行
协程:相对复杂,但灵活,适合不固定时间执行

注意事项

协程(Coroutine)与重复调用函数(InvokeRepeating)在脚本被禁用的时候是不会自动停止调用的,需要手工调用对应的停止函数进行停止。
停止协程调用方法是

StopCoroutine()
StopAllCoroutine()

重复调用的停止方法是

CancelInvoke()

你可能感兴趣的:(Unity学习笔记,unity3d,游戏开发)