-1

我在屏幕上有一个带有画布菜单的游戏,里面有按钮。当用户点击屏幕时,我们的玩家会跳跃。点击屏幕上的任意位置。

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

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

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

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

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

1 回答 1

0

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

您可以检测到是否单击了 UI 对象然后阻止某些事情....所以我们有:EventSystem.IsPointerOverGameObject

还有一件事移动设备将在 TouchPhase.Began 时检测到对游戏对象的触摸

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

于 2017-03-13T09:44:14.420 回答