我有一个带有画布菜单的游戏,屏幕上有按钮。当用户点击屏幕时,我们的播放器会跳转。点击屏幕上的任意位置。
我的按钮让玩家可以开火。
因此,当用户触摸按钮时,我的玩家会跳跃并开火。但我只是想让它开火而不是跳跃。
如何检测用户点击按钮的时间?
编辑:谢谢你们这个代码解决了我的问题;
if (Input.GetMouseButtonDown(0))
{
if (EventSystem.current.IsPointerOverGameObject())
{
Debug.Log("Clicked on the UI");
}
else
{
jump();
}
}
答案 0 :(得分:0)
我认为这是重复的问题,但我仍然回答:D为了好玩......
你很多都会检测是否点击了UI对象然后阻止某些东西....所以我们有: EventSystem.IsPointerOverGameObject
还有一件事,移动设备将在TouchPhase.Began
上检测到触摸游戏对象https://docs.unity3d.com/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.html