我在Unity中制作了一个简单的relfex躲避游戏,其中当玩家经过障碍物时,TextMeshPro文本开始计数。当进入Box-collider的触发器时,障碍物会从上方掉落,掉落并被摧毁。我已经附加了“场景图片”视图。
下面的示例中的“ scoreText”变量是对TextMeshProUGUI组件的引用。当我在Unity中运行游戏(使用Unity Remote和我的android手机作为输入设备)时,得分机制会按预期工作,并且TextMeshProUGUI组件的text属性从0变为1,从1变为2,依此类推。当我在“构建设置”中单击“构建并运行”或仅“构建”并导出apk文件时,游戏运行良好,但文本数最多为1,然后保持原来的状态。障碍正在被破坏,因此else if-块也正在执行。从Unity版本到Android都没有变化,代码保持不变。我在多种设备上尝试过,但问题仍然存在。没有错误,应用程序不会崩溃,我也不知道该怎么办!如果您能帮助我,我将不胜感激!这是代码:
private void OnTriggerEnter2D(Collider2D other)
{
if (int.Parse(scoreText.text) == 0)
{
scoreText.SetText("1");
}
else if (int.Parse(scoreText.text) > 0)
{
int oldNumber = int.Parse(scoreText.text);
int newNumber = oldNumber + 1;
scoreText.SetText(newNumber.ToString());
}
Destroy(gameObject);
}
答案 0 :(得分:0)
您是否尝试过使用scoreText.text = newNumber.ToString()?我个人从不使用SetText