相关疑难解决方法(0)

在继续使用C#Unity功能之前,请等待协程完成

我正在努力让一个单位在Unity2d中通过网格移动.我让运动顺利运转.我希望函数MovePlayer等到协程完成后再继续,所以程序将等到玩家完成移动后再发出更多订单.

这是我的代码:public class Player:MonoBehaviour {

public Vector3 position;
private Vector3 targetPosition;

private float speed;

void Awake ()
{
    speed = 2.0f;
    position = gameObject.transform.position;
    targetPosition = position;
    GameManager.instance.AddPlayerToList(this);                     //Register this player with our instance of GameManager by adding it to a list of Player objects. 
}

//Function that moves the player, takes a list of nodes as path
public void MovePlayer(List<Node> path)
{
    StartCoroutine(SmoothMovement(path));
    //Next step should wait until SmoothMovement is finished
}

private IEnumerator SmoothMovement(List<Node> path)
{
    float step …
Run Code Online (Sandbox Code Playgroud)

c# coroutine unity2d

5
推荐指数
1
解决办法
7023
查看次数

标签 统计

c# ×1

coroutine ×1

unity2d ×1