【发布时间】:2017-08-10 08:20:10
【问题描述】:
我想要一个遍历整个数组的 if 语句,当它找到名称以“Button”开头的元素时为真,之后它可以是任何东西,例如:
if (Array[i].name == "Button*")
因此,例如,当元素的名称为“Button1”或“ButtonBlaBlaBla”时为真,但如果名称不以“Button”开头,例如“1Button”,则为假。
PS:我在团结工作,但我很确定这与它无关,所以我在这里发布。如果有关于相同问题的现有帖子,请链接给我。
【问题讨论】:
-
感谢您的帮助。
-
不客气。但顺便说一句,这种名称检查在 Unity 中并不是一个好主意。请尝试附加标签。如果您的按钮被标记为“按钮”(在检查器中设置标签),检查
button.CompareTag("Button")非常快,而且更安全一些,因为您实际上不允许错误标记对象(标签由编辑器存储)。 -
您还可以检查按钮上的组件:检查是否为
button.GetComponent<SpecialButton>() != null,或者更好的是,如果您需要来自该组件的信息,请将其存储在一个变量中,然后检查它是否为空。 (因为在游戏开发中,如果没有原因,你通常不想调用两次函数。)
标签: regex unity3d string-matching