如何单独(检测)Canvas菜单单击和正常屏幕单击?

时间:2017-03-13 09:38:07

标签: c# unity3d unity2d

我有一个带有画布菜单的游戏,屏幕上有按钮。当用户点击屏幕时,我们的播放器会跳转。点击屏幕上的任意位置。

我的按钮让玩家可以开火。

因此,当用户触摸按钮时,我的玩家会跳跃并开火。但我只是想让它开火而不是跳跃。

如何检测用户点击按钮的时间?

编辑:谢谢你们这个代码解决了我的问题;

if (Input.GetMouseButtonDown(0))
    {
        if (EventSystem.current.IsPointerOverGameObject())
        {
            Debug.Log("Clicked on the UI");
        }
        else
        {
          jump();
        } 
       }

1 个答案:

答案 0 :(得分:0)

我认为这是重复的问题,但我仍然回答:D为了好玩......

你很多都会检测是否点击了UI对象然后阻止某些东西....所以我们有: EventSystem.IsPointerOverGameObject

还有一件事,移动设备将在TouchPhase.Began

上检测到触摸游戏对象

https://docs.unity3d.com/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.html