Mik*_*ant 4 c# unity-game-engine unityscript
我可能会问一些非常明显的东西而且我忽略了一些东西,但是我试图在它做某事之前创建一个暂停.
我已经看到这在网上很多地方使用 -
yield WaitForSeconds(2);
Run Code Online (Sandbox Code Playgroud)
但是我得到一个语法错误,
"错误CS1528:预期;或=(无法在声明中指定构造函数参数)(CS1528)(Assembly-CSharp)
这让我感到困惑,因为我不确定yield关键字的真正意义或作用是什么,而且我假设它WaitForSeconds是一个类,其中"2"在构造函数中(不在声明中),任何帮助都将受到赞赏.谢谢!
你想要的是使用IEnumerator.
IEnumerator Example()
{
print(Time.time);
yield return new WaitForSeconds(5);
print(Time.time);
}
Run Code Online (Sandbox Code Playgroud)
然后你会问:我怎么称呼这个?
void Start()
{
print("Starting " + Time.time);
StartCoroutine(WaitAndPrint(2.0F));
print("Before WaitAndPrint Finishes " + Time.time);
}
IEnumerator WaitAndPrint(float waitTime)
{
yield return new WaitForSeconds(waitTime);
print("WaitAndPrint " + Time.time);
}
Run Code Online (Sandbox Code Playgroud)
我刚刚阅读了Jon Skeet在评论中发布的链接,我也推荐它,它有非常有价值的信息.