携程、回调的使用
多线程
真正的并行,在不同的cpu核心内,同时处理不同行为
携程
//执行方法
StartCoroutine( fun() );
//携程方法
IEnumerator fun( ){
//延迟一定时间
yield return new WaitForSeconds(10);
Debug.Log("等待了一定时间后");
//等待数据加载完成
ResourceRequest r = Resources.LoadAsync("方圆500米山脉");
yield return r;
//等待网络请求结果
UnityWebRequest r = UnityWebRequest.Get("www.baidu.com");
yield return r.SendWebRequest();
}
回调
//普通回调方式
delegate void Call();
Call phoneCall;
phoneCall.Invoke();
//调用
StartCoroutine(Coro(fun));
//带参方法
void fun(string start){
Debug.Log(start);
}
//Unity封装的回调Action
Ienumerator Coro(Action callback){
yield return null;
callback.Invoke();
}
Ienumerator Coro(Action<string> callback){
yield return null;
callback.Invoke("调用完成");
}

浙公网安备 33010602011771号