每帧更新 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;
}
}
当您希望它更改数字时启动它,当您希望它停止时停止它:
我正在用 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;
}
}
当您希望它更改数字时启动它,当您希望它停止时停止它: