OnMouseUp仅在单击对象时有效

时间:2016-12-22 19:00:29

标签: c# unity3d onmouseup

我有一些非常简单的代码,当单击一个对象时(当鼠标从推动到未按下位置时),它会向对象添加力。有关OnMouseUp的信息说明了

"请注意,即使鼠标不在同一个GUIElement或Collider上也会调用OnMouseUp,因为鼠标已被按下。"

这正是我想要的。如果我点击屏幕上的任何地方,我希望它激活。它只有在我点击对象时才有效。我误解了什么吗?

以下是整体代码(非常简单):

public Rigidbody2D Player;
private void OnMouseUp()
{
     Debug.Log("Test");
     layer.AddForce(transform.up * 1000);
}

谢谢,

1 个答案:

答案 0 :(得分:2)

  

我误解了什么吗?

你在评论部分得到了答案。

  

如果我点击屏幕上的任何地方,我希望它激活。它只是   如果我点击该对象就可以工作。

OnMouseUp不用于检测屏幕上任何位置的点击。您需要使用Update函数中的Input.GetMouseButtonXX函数之一。

您可能正在寻找以下内容:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        Debug.Log("Test");
        Player.AddForce(transform.up * 1000);
    }
}