目前我正在开发棋盘游戏。有四个玩家,一个是真正的人类玩家,另外三个是计算机玩家或简单的机器人。
当轮到人类玩家掷骰子时。他可以投掷和更新分数和其他东西。
但是当它是计算机播放器时,我想要更新所有内容,例如慢慢地掷骰子更新分数,以便玩家可以看到它。
我现在正在做的是正常的,在人类玩家转身之后,计算机播放器的转弯会在几毫秒内更新。
我该怎么做才能让它慢慢更新,玩家可以看到它。
答案 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);