Unity3d 协程、调用函数、委托
2016-02-22 00:00
1121 查看
(一)协程
开启方法:StartCoroutine("函数名");
结束方法StopCoroutine("函数名"),StopAllCoroutines();
(二)调用函数
开启方法 不重复调用 Invoke("函数名",“延迟时间”); 重复调用 InvokeRepeating("函数名",“延迟时间”,“重复间隔时间”);
结束方法 CancelInvoke("函数名"),CancelInvoke();
是否在有在调用的函数 IsInvoking(); 指定函数是否在调用 IsInvoking("函数名");
(二)委托
开启方法:StartCoroutine("函数名");
结束方法StopCoroutine("函数名"),StopAllCoroutines();
IEnumerator TestIEnumerator() { Debug.Log("协程"); //等待游戏界面绘制完成 yield return new WaitForEndOfFrame(); Debug.Log("游戏界面绘制完成"); //等待1秒后 yield return new WaitForSeconds(1F); Debug.Log("1秒后"); //等待0.5秒后 yield return new WaitForSeconds(0.5F); Debug.Log("0.5秒后"); while(true) { //等待固定更新 yield return new WaitForFixedUpdate(); Debug.Log("固定更新"); } } // Use this for initialization void Start () { StartCoroutine("TestIEnumerator"); }
(二)调用函数
开启方法 不重复调用 Invoke("函数名",“延迟时间”); 重复调用 InvokeRepeating("函数名",“延迟时间”,“重复间隔时间”);
结束方法 CancelInvoke("函数名"),CancelInvoke();
是否在有在调用的函数 IsInvoking(); 指定函数是否在调用 IsInvoking("函数名");
void TestInvokeRepeating() { Debug.Log("重复调用"); m_round++; if (m_round > 15) { //结束所有调用 //CancelInvoke(); //结束指定调用 CancelInvoke("TestInvokeRepeating"); } if (IsInvoking("TestInvokeRepeating")) { Debug.Log("调用中"); } else { Debug.Log("不在调用中"); } } void TestInvokeRepeating2() { Debug.Log("重复调用TestInvokeRepeating2"); } // Use this for initialization void Start () { m_round = 0; InvokeRepeating("TestInvokeRepeating",0f,1f); InvokeRepeating("TestInvokeRepeating2", 0f, 1f); }
(二)委托
public class GameManager : MonoBehaviour { //定义一个委托 delegate int TestEntrust(int a); public int ReceiveLogic(int a) { Debug.Log("参数a="+a); return 0; } // Use this for initialization void Start () { //创建委托对象 TestEntrust rl = new TestEntrust(ReceiveLogic); //调用 rl(3); } }
相关文章推荐
- unity实现多点触控代码
- 在Unity中实现动画的正反播放代码
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- [软件资讯]Unity已支持将3D游戏导出成Flash
- Unity 武器拖尾效果
- unity常见问题之20题
- Unity3D动画存储插件
- unity 赛车相机跟随物体移动
- Unity3d摄像机Camera参数详解
- Unity3d多线程
- 猫都能学会的Unity3D Shader入门指南(一)
- iTween基础之Move(移动)
- Unity3d之Http通讯GET方法和POST方法
- iTween基础之功能简介
- Unity3d + UGUI 的多分辨率适配