代码改变世界

Unity协程

2015-09-26 12:04  公子沐沐  阅读(156)  评论(0编辑  收藏  举报
 1 //协助程序,,相当于异步执行
 2 
 3 
 4 private Vector3 v=new Vector3();
 5 private float aspeed =0.0375f;
 6 
 7 void Start()
 8 {
 9  //执行 Routine()方法
10  StartCoroutine(Routine());
11 }
12 
13 void FixedUpdate()
14 {
15  Transform.position+=v;
16 }
17 
18 
19 IEnumerator Routine()
20 {
21  v.z=speed;
22  v.x=0;
23  //等待三秒
24  yield return new WaitForSeconds(3f);
25 
26  v.z=0;
27  v.x=-speed;
28  yield return new WaitForSeconds(3f);
29 
30  v.z=-speed;
31  v.x=0;
32  yield return new WaitForSeconds(3f);
33 
34  v.z=0;
35  v.x=speed;
36  yield return new WaitForSeconds(3f);
37 
38  //再重新执行
39  StartCoroutine(Routine());
40 }
 yield return 0;  //是等待一帧