嗨,为什么这不起作用 我试图从cororotine旋转游戏对象的函数运行,但没有旋转。如果我把旋转在更新它运行良好IM混淆感谢您的帮助。
public class Timer : MonoBehaviour
{
int timeLeft;
void Start()
{
instruction = GetComponent<Text>();
InvokeRepeating("time", 0, 1);
if (SceneManager.GetActiveScene().buildIndex == 7)
{
timeLeft = 120;
}
else
{
timeLeft = 90;
}
/*
timeLeft = (SceneManager.GetActiveScene().buildIndex == 7) ? 120 : 90;
*/
}
}
答案 0 :(得分:1)
它在更新中起作用的原因是,在每个框架上调用了更新。因此,立方体的每一帧都会旋转6度,并按预期连续旋转
该协同例程仅执行两次旋转,一次旋转到6度,然后在3.1秒后返回0度。
如果要在协例程中轮换,则必须以不同的方式实现它:
例如:
double time = 0.0f;
while (time < 3.1f)
{
time += Time.deltaTime;
rotateit();
yield return null;
}
这将使多维数据集连续旋转3.1秒,然后停止。