每帧更新3D文字会导致我的游戏崩溃

时间:2017-11-25 20:05:52

标签: c# unity3d unity5

我正在开展一场类似于旧学校马里奥派对游戏的团结游戏。我遇到了骰子代码的问题,当我运行游戏时它会导致团结崩溃。我希望我的代码能够不断更改骰子块上显示的数字。示例(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();

    }
}

我知道这些基本相同,但我想我还是试试看。 任何帮助都会非常感激,因为我对团结和c#相当陌生。

1 个答案:

答案 0 :(得分:1)

您可以使用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&amp; StopCoroutine