在 Unity 中依次更新“计算机播放器”操作



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

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

但是当轮到电脑玩家时,我希望一切都更新,例如慢慢掷骰子更新分数,以便玩家可以看到它。

我现在做的是正常的,在人类玩家回合后,计算机玩家回合以毫秒为单位更新。

我该怎么做,以便它更新缓慢并且玩家可以看到它。

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

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(将方法分解为几个方法,并在最后使用调用相互链调用

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

最新更新