如何分离(检测)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
我有一个游戏,屏幕上有 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