Unity-协同程序

来源:互联网 发布:程序员技术的重要性 编辑:程序博客网 时间:2024/06/06 10:53

Unity-协同程序

用协程完成以下效果
有一位置为(0,0,0)的点P,持续朝着(3,4,5)这个点移动,判断两者之间距离,
如果小于0.5,则让P回到0点。如此循环:

代码块

using System.Collections;using System.Collections.Generic;using UnityEngine;public class CoroutineTest : MonoBehaviour {    Vector3 p = new Vector3(3, 4, 5);    // Use this for initialization    void Start () {        StartCoroutine("MoveTest");  //协同程序需要用此方法调用}    // Update is called once per frame    void Update () {    }    IEnumerator MoveTest()    {        while (Vector3.Distance(transform.position, p) >= 0.5f)         {         transform.position = Vector3.MoveTowards(transform.position, p, 0.1f);  //0.1f最大移动距离        if (Vector3.Distance(transform.position, p) < 0.5f)        {            transform.position = Vector3.zero;        }        yield return new WaitForSeconds(1f);        }    }}
原创粉丝点击