【发布时间】:2020-12-18 12:14:07
【问题描述】:
所以我正在尝试制作一款塔防游戏。此代码部分应该使文本缓慢更改为如下所示;
准备好迎接新浪潮! 波传入。 波来.. 波来... 第 0 波
目前,当我开始波浪时,会发生什么,这些点很快就过去了,然后立即变为“Wave 0”。我尝试在 WaitForSeconds(); 中更改浮点数;没有任何效果。我如何正确使用它,所以它在每次更改字符串之前等待一秒钟。
IEnumerator waveIncomingText()
{
for (int i = 1; i <= 4; i++)
{
switch (i)
{
case 1:
new WaitForSeconds(4f);
yield return waveNumberText.text = "Wave Incoming.";
break;
case 2:
new WaitForSeconds(4f);
yield return waveNumberText.text = "Wave Incoming..";
break;
case 3:
new WaitForSeconds(4f);
yield return waveNumberText.text = "Wave Incoming...";
break;
case 4:
new WaitForSeconds(4f);
yield return waveNumberText.text = "Wave " + waveIndex.ToString();
break;
}
}
}
【问题讨论】:
-
有很多正确使用
WaitForSeconds()的例子,这里是 Stack Overflow 以及文档本身。请参阅其中一些示例的副本。 -
我很怀疑你的代码是否能编译...
-
如果你发现自己在写
for(var i ... switch(i)....,那么循环就完全没有意义了。
标签: c# unity3d wait ienumerator