gpt4 book ai didi

c# - 为什么处理器不等待?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:09 25 4
gpt4 key购买 nike

我正在尝试进行轮流游戏。玩家将回合传给 IA,反之亦然。问题是,处理器运行一切都太快了,有时我想做一个 WaitForSeconds。在下面的示例中,我想让处理器在使用硬币之前等待 3 秒,但它只是忽略了命令并在没有等待 3 秒的情况下转到方法 Player1Turn()。怎么了?

using UnityEngine;
using System.Collections;

public class Exemplo : MonoBehaviour
{
void Update()
{
if (IATurn == true)
{
StartCoroutine(UseCoin());
//Do some stuff
Player1Turn();
IATurn = false;
}
}

IEnumerator UseCoin()
{
yield return new WaitForSeconds(3);
MyMana--;
}

void Player1Turn()
{
//Do stuff;
}
}

最佳答案

简而言之,看看你的代码流程,

Update中它执行StartCoroutine(UseCoin());,然后立即执行指针跳转到UseCoin方法,它从第一行,其余行将在 3 秒后执行,因此它会在 3 秒后返回,同时执行其余代码。

Visual

希望你明白。

关于c# - 为什么处理器不等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34517958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com