【发布时间】:2019-03-04 18:33:57
【问题描述】:
我在 Unity 中制作了一个简单的 relfex-dodging 游戏,其中 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);
}
【问题讨论】:
标签: unity3d