目前我正在开发棋盘游戏。有四个玩家,一个是实际的人类玩家,另外三个是计算机玩家或只是一个机器人。
当轮到人类玩家掷骰子时。他可以抛出和更新分数和其他东西。
但是当轮到电脑玩家时,我希望一切都更新,例如慢慢掷骰子更新分数,以便玩家可以看到它。
我现在做的是正常的,在人类玩家回合后,计算机玩家回合以毫秒为单位更新。
我该怎么做,以便它更新缓慢并且玩家可以看到它。
这是一个非常普遍的问题,如果没有一些代码,很难回答,但您可以研究两个主要选项。
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);