每帧更新 3D 文本会使我的游戏崩溃

Updating 3D text each frame crashes my game

我正在用 unity 5 开发一款类似于老派马里奥派对游戏的游戏。我 运行 我的骰子代码出现问题,当我 运行 玩游戏时它会导致 unity 崩溃。我希望我的代码不断更改出现在骰子块上的数字。示例 (https://www.youtube.com/watch?v=7suvd4UA6cU) 只要注意骰子上的数字即可。 我尝试了两种不同的编码方式,但都不适合我。

示例 1:

void Update () {
    while (Clicked == false)
    {
        for (int i = 1; i < 10; i++)
        {
            numberText.text = i.ToString();

        }
    }
}

示例 2:

void Update () {
    while (Clicked == false)
    {
        AutoIncrement();
    }
}
void AutoIncrement()
{
    for (int i = 1; i < 10; i++)
    {
        numberText.text = i.ToString();

    }
}

我知道这些基本上是相同的,但我想无论如何我都会尝试一下。 任何帮助将不胜感激,因为我对 unity 和 c# 还很陌生。

您可以使用 Coroutine 来做到这一点

IEnumerator DiceNumberManager(){
    int i = 1;
    while (true){
        numberText.text = i.ToString();
        yield return new WaitForSeconds(0.1f);
        i++;
        if (i>10) i=1;
    }
}

当您希望它更改数字时启动它,当您希望它停止时停止它:

StartCoroutine& StopCoroutine