向所有参与者问好!我遇到了一个我自己无法解决的错误。我尝试实现一个功能,其中当单击Unity游戏中的按钮时,每个变量的值会发生不同的变化,使用WaitForSeconds.
我想警告您,我的编程经验有限,因此我的代码可能没有为每个变量提供三个相同部分的最佳解决方案。试图自己纠正错误只会让事情变得更糟。
预先感谢那些可以帮助我解决这些错误并为我指明进一步解决问题的正确方向的人!
这是完整的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Game : MonoBehaviour
{
public Text sub;
public int score;
public Text money;
public int score1;
public Text top;
public int score2;
public string product;
void Start()
{
StartCoroutine(CountPoints());
StartCoroutine(CountPoints1());
StartCoroutine(CountPoints2());
}
IEnumerator CountPoints()
{
while (score < 10000)
{
sub.text = score.ToString();
score++;
yield return new WaitForSeconds(1);
}
}
IEnumerator CountPoints1()
{
while (score1 < 10000)
{
money.text = score1.ToString();
score1++;
yield return new WaitForSeconds(0.5f);
}
}
IEnumerator CountPoints2()
{
while (score2 > 0)
{
top.text = score2.ToString();
score2--;
yield return new WaitForSeconds(3.6f);
}
}
public void productUpgrade()
{
int count = PlayerPrefs.GetInt(product);
PlayerPrefs.SetInt(product, count = 1);
Debug.Log(count + 1);
}
}
我理解的目标是在一定时间内获得一定数量的分数?在这种情况下,我稍微重写了代码,如果你还有不同的任务 - 写,我会修复它
好吧,首先,让我们创建一个新类来存储某种类型的分数对象(新的 Score.cs 文件):
现在让我们使用新类型在 Game 中声明它们:
让我们编写一个胡萝卜素来增加每个值的点数
increase(也在 Game 类中)使用方法: