当我按L时,我想在运行时使用C#在Unity中打开OBJ文件。但是,文件对话框始终打开两次。选择第一个文件后,将出现一个新对话框。无论我第一次选择还是第二次选择任何文件,都将打开并显示两个文件。 我有:
void Update ()
{
if (Input.GetKeyDown(KeyCode.L)) {
LoadObj();
//StartCoroutine(ExecuteAfterTime(5));
}
}
IEnumerator ExecuteAfterTime(float time)
{
yield return new WaitForSeconds(time);
}
void LoadObj()
{
string path = EditorUtility.OpenFilePanel("Load scan file", "", "obj");
\\Open the file and display it
}
我尝试过:
LoadObj()
-不起作用EditorUtility.OpenFilePanel()
之前或之后添加了yield return new WaitForSeconds(time)
-在后一种情况下,延迟时间为5秒,但在两种情况下仍然打开两次。我搜索了其他解决方案,但未找到其他任何解决方案。 我在Windows机器上工作并使用Unity2018。目标是一次打开一个文件,但是几分钟后必须打开另一个文件。 知道如何防止对话框两次打开吗?
答案 0 :(得分:0)
按照@Eshan Mohammadi的建议,我检查了是否只有一个代码实例。我删除了整个文件,创建了一个新文件,并将其添加到我的GameObject中。但是,只有到那时,我才注意到这个特定的GameObject被复制了,当然包括代码。 因此,我改变了GameObject复制和解决问题的方式。