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

How Can I seperate(detect) Canvas menu click and normal screen click?

我有一个游戏,屏幕上有 canvas 菜单,it.When 用户点击屏幕上的按钮,我们的玩家 jumps.Click 在屏幕上的任何地方。

我的按钮提供玩家可以开火。

因此,当用户触摸按钮时,我的播放器会跳跃,fire.But 我只想让它开火而不是跳跃。

如何检测用户何时单击按钮?

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

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

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

如果点击 UI 对象,你会检测到然后阻止某些东西......所以我们有:EventSystem.IsPointerOverGameObject

还有一件事是移动设备会在 TouchPhase.Began

时检测到对游戏对象的触摸

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