在Unity中逐个更新计算机播放器操作

时间:2017-02-13 16:05:20

标签: unity3d

目前我正在开发棋盘游戏。有四个玩家,一个是真正的人类玩家,另外三个是计算机玩家或简单的机器人。

当轮到人类玩家掷骰子时。他可以投掷和更新分数和其他东西。

但是当它是计算机播放器时,我想要更新所有内容,例如慢慢地掷骰子更新分数,以便玩家可以看到它。

我现在正在做的是正常的,在人类玩家转身之后,计算机播放器的转弯会在几毫秒内更新。

我该怎么做才能让它慢慢更新,玩家可以看到它。

1 个答案:

答案 0 :(得分:1)

这是一个非常普遍的问题,如果没有一些代码,很难回答,但有两个主要的选择可供你研究。

1)将您的AI方法转换为协程,然后在其间添加一些“WaitForSeconds”。

 IEnumerator YourMethod(){
     // Do stuff
     yield return new WaitForSeconds(time);
     // Do stuff
     yield return new WaitForSeconds(time);
     // Do stuff
     yield return new WaitForSeconds(time);

2)将你的方法分解为几个方法,并在最后使用Invoke

将调用链接到另一个方法
void YourMethod(){
  // Do stufff
  Invoke("YourMethod2", time);

void YourMethod2(){
  // Do stuff
  Invoke("YourMethod3", time);