【问题标题】:Select case not working with Text gameObject in Unity comparing strings选择案例不适用于 Unity 中的 Text gameObject 比较字符串
【发布时间】:2021-09-22 19:07:16
【问题描述】:

我正在 Unity 中制作一个游戏,用户从列表中选择一个短语,如果该短语正确,则获得一分。

我遇到的问题是尽管选择了正确的答案,但当代码到达开关时,它的正确大小写不匹配。

switch (answer.text)
{            
    case "it's a potato":
    points++;
}

如果我执行Debub.log(answer.text);,我会得到"it's a potato"

就像answer.text添加一些不可见的额外字符并且不匹配。

如果我手动编写字符串,那么它可以工作。

有人能告诉我我可以用字符串answer.text 做什么来匹配大小写吗?

【问题讨论】:

  • 你忘记了break吗?
  • 尝试从调试日志中复制粘贴文本,同时在默认情况下放置调试日志以确保交换机正常运行

标签: c# visual-studio unity3d


【解决方案1】:

如果第一个字符串的结尾不等于\n,则字符串可能不等于。在这种情况下,您可以尝试检查它,只是将其转换为 char 数组或 byte 数组。当然不要忘记为任何情况写break。

【讨论】:

  • 如果有隐藏字符缺少它们,translating it to char array or byte array 将如何解决问题?角色仍然不会在那里......
【解决方案2】:

确实,通过在末尾添加"\r" 来更改字符串。

我使用的解决方案很简单:

anser.text.replace("\r", string.empty);

它就像一个魅力。谢谢大家帮助我!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    相关资源
    最近更新 更多