【发布时间】:2018-09-08 08:34:18
【问题描述】:
我正在制作的游戏中有四个游戏对象,当我点击每个游戏对象时,会打开一个对话框。
我的问题是我正在使用 OnMouseDown 并且第一个总是需要单击两次。它只发生在 OnMouseDown 上,我在游戏上的按钮可以正常工作。
public static GameObject selectedClient;
public bool isBuying;
private Manager manager;
private void Start()
{
manager = GameObject.FindObjectOfType(typeof(Manager)) as Manager;
}
private void OnMouseDown()
{
if (isBuying == true)
{
selectedClient = this.gameObject;
manager.Talk();
}
else if (isBuying == false)
{
manager.NotTalk();
}
}
Talk() 和 NotTalk() 如下:
public void Talk()
{
dialogueBox.SetActive(true);
Time.timeScale = 0f;
actualClient = Client.selectedClient;
}
public void NotTalk()
{
dialogueBox.SetActive(false);
Time.timeScale = 1f;
}
有人知道为什么会这样吗?
提前致谢。
【问题讨论】:
-
不知道如何在没有代码的情况下提供帮助
-
抱歉,添加了代码。第一次双击后它可以正常工作,但是如果我单击一个对象然后单击另一个对象会出错,这就是我要修复此问题的原因。
-
我们没有在标题中加上“已解决”。接受答案就足够了。