Unity3d 更新方法不适用于';t调用代理的移动
我正在创建一个代理来玩游戏。我使用A*算法来确定代理应该采取的路径,并将这些网格位置转换为移动。现在,我试图让代理在更新函数中执行这些移动,但代理只是停留Unity3d 更新方法不适用于';t调用代理的移动,unity3d,unity5,Unity3d,Unity5,我正在创建一个代理来玩游戏。我使用A*算法来确定代理应该采取的路径,并将这些网格位置转换为移动。现在,我试图让代理在更新函数中执行这些移动,但代理只是停留 void Update () { if (currentState == AIStates.Idle) { runSearch (); } if (currentState == AIStates.FollowingPath) {
void Update ()
{
if (currentState == AIStates.Idle)
{
runSearch ();
}
if (currentState == AIStates.FollowingPath)
{
if (move_index < this.MovesList.Count)
{
if (currentMove == Player.Moves.Null)
{
currentMove = MovesList [move_index];
ExecuteMove (currentMove);
}
}
//is_followingpath = true;
}
if (currentState == AIStates.PathCompleted)
{
currentState = AIStates.FollowingPath;
}
}
void更新()
{
if(currentState==AIStates.Idle)
{
runSearch();
}
if(currentState==AIStates.FollowingPath)
{
if(移动索引
因此,我的更新方法中有类似的内容,我的移动列表只是一个包含MoveLeft、MoveRight等移动的列表,我希望代理执行这些移动。。但是特工却在那里徘徊。。。所有的方法都经过了测试,它们都能正常工作。只是更新方法引起了问题。试着调试代码,看看代码的执行在哪里受阻。如果语句阻塞了它,您可能需要更改它。我已经做了所有这些,它到达了
执行移动(currentMove)
?如果是,则显示此方法本身。尝试调试代码以查看代码执行受阻的位置。如果语句阻塞了它,您可能需要更改它。我已经做了所有这些,它到达了执行移动(currentMove)
?如果是,则显示此方法本身。