C# 使用收益率WaitForSeconds
我可能会问一些非常明显的问题,我忽略了一些事情,但我试图在它做某事之前创造一个停顿 我在网上看到很多地方都在使用它-C# 使用收益率WaitForSeconds,c#,unity3d,unityscript,C#,Unity3d,Unityscript,我可能会问一些非常明显的问题,我忽略了一些事情,但我试图在它做某事之前创造一个停顿 我在网上看到很多地方都在使用它- yield WaitForSeconds(2); 但是我得到一个语法错误 “错误CS1528:应为;或=(无法指定构造函数参数 在声明中)(CS1528)(大会CSharp) 这让我很困惑,因为我不确定yield作为一个关键字的真正含义或作用,我假设WaitForSeconds是它的一个类,构造函数中有“2”(而不是在声明中),任何帮助都将不胜感激。谢谢!你想要的是不要使用IE
yield WaitForSeconds(2);
但是我得到一个语法错误
“错误CS1528:应为;或=(无法指定构造函数参数
在声明中)(CS1528)(大会CSharp)
这让我很困惑,因为我不确定
yield
作为一个关键字的真正含义或作用,我假设WaitForSeconds
是它的一个类,构造函数中有“2”(而不是在声明中),任何帮助都将不胜感激。谢谢!你想要的是不要使用IEnumerator
IEnumerator Example()
{
print(Time.time);
yield return new WaitForSeconds(5);
print(Time.time);
}
然后你会问:我怎么称呼这个
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);
}
我刚刚阅读了Jon Skeet在评论中的帖子,我也推荐它,它包含了非常有价值的信息。您正在使用统一的Javascript代码,并尝试使用C语言,这就是为什么您会收到错误消息的原因 如果在如下页面上单击C语言选择器 您将获得以下C#的示例代码:
“我真的不确定关键字“yield”的真正含义或作用”-这将是首先要解决的问题。我建议你找一本好的C语言书来解释迭代器块。在我看来,尝试用你不懂的语言编写代码是个坏主意。我有一篇关于迭代器块的文章()但是一本书会更详细。谢谢你的帮助,我一定会仔细阅读海报中提到的如下页面:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
IEnumerator Example() {
print(Time.time);
yield return new WaitForSeconds(5);
print(Time.time);
}
}