检测鼠标点击游戏对象

时间:2014-02-10 06:02:25

标签: unity3d

这是我附加了我想点击的游戏对象的代码

void Update () {

    if (Input.GetMouseButtonDown (0)) 
    {                    
            Application.LoadLevel("option");

}

似乎我可以点击屏幕上的任意位置来制作“Application.LoadLevel(”option“);”运行

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

正如@Qwertie所说,你点击哪里很重要。如果您的GameObject附加了对撞机,则可以使用OnMouseDown()。只要您点击具有对撞机和此脚本作为组件的游戏对象,就会调用此方法。

void OnMouseDown()
{

     Application.LoadLevel("option");

}

答案 1 :(得分:0)

试试这个:

private Vector3 currentMouseDown;
void OnMouseOver ()
{
    if (Input.GetMouseButtonDown (0)) {
        currentMouseDown = Input.mousePosition;
        Debug.Log ("down");

    }
    if (Input.GetMouseButtonUp (0) && currentMouseDown != null) {
        Debug.Log ("Up");
        if (currentMouseDown == Input.mousePosition) {
            Debug.Log ("get");
        }
    }
}

此代码将解决拖拽冲突问题。