脚本在构建中不起作用-在编辑器中可以。
它看起来像这样:
public GameObject [] fMassiv;
这些是我正在寻找的标签:
f_line14 (UnityEngine.GameObject)
或f_line15 (UnityEngine.GameObject)
或f_line16 (UnityEngine.GameObject)
等。
void OnMouseDown ()
{
string f_string = "f_line" + searchable number + "(UnityEngine.GameObject)";
fMassiv = GameObject.FindGameObjectsWithTag (f_string); // and here in the build everything shuts up (((
}
后记(UnityEngine.GameObject)
由您自己制作。从预制件中复制对象。
但是,这很好奇。
如果将f_string
带到控制台,则会看到:f_line16 (UnityEngine.GameObject)
,
并且如果在TextBox
中,则仅:f_line16
。
我试图进入阵列,所以:
fMassiv = GameObject.FindGameObjectsWithTag ("f_line" + number);
或
fMassiv = GameObject.FindGameObjectsWithTag ("f_line" + number + "(UnityEngine.GameObject)";
不起作用。
再次:在Unity中,一切正常。
对不起,我的英语
答案 0 :(得分:2)
我注意到的一个细节:
在您的标签说明中,例如f_line14(UnityEngine.GameObject)(从上面复制)在f_lineXX和(UnityEngine.GameObject)之间有一个“空格”。
这行代码:
string f_string = "f_line" + number + "(UnityEngine.GameObject)";
不会生成相同的格式(缺少空格)。
您是否手动创建标签?还是按程序(通过代码)创建它们?通常,我无法想到任何理由都可以在编辑器中使用,但不能在构建中使用。
更多信息可能会有所帮助。形式示例:您的游戏对象仅仅是场景对象吗?还是他们实例化了预制件?