我的unity游戏从使用键盘的移动变成使用屏幕ui按钮


我的unity游戏从使用键盘的移动变成使用屏幕ui按钮

Unity3d 检测到 Unity 按钮被按下而不是被按下

unity3d

Unity3d 检测到 Unity 按钮被按下而不是被按下,unity3d,Unity3d,所以,我试图让我的 Unity 游戏从使用键盘移动到使用屏幕上的 ui 按钮。我正在使用 Unity 中的内置 UI 按钮,将按钮链接到我要移动的对象,并让它触发部分脚本来移动对象。问题是它只检测到按钮最初被按下的输入,如何检测到按钮被按下?释放按钮时音效,可以通过勾选来检查按钮是否被按下 首先给按钮添加一个事件触发组件unity 检测键盘输入,添加两个事件指针down和PointerUp游戏运营,然后在PointerDown上设置bool为true,在PointerUp上设置bool为true bool为设置为false,bool表示按钮是否被按下,例如

所以,我正在尝试将我的统一游戏从使用键盘移动更改为使用屏幕上的 ui 按钮。我正在使用 Unity 中的内置 UI 按钮,将按钮链接到我要移动的对象,并让它触发部分脚本来移动对象。问题是它只检测到按钮最初被按下的输入unity 检测键盘输入,如何检测到按钮被按下?

您可以通过检查按钮何时释放来检查按钮是否被按下

先给按钮添加事件触发组件,添加两个事件指针down和PointerUp,然后在PointerDown上设置bool为true,在PointerUp上设置bool为false,bool表示按钮是否被按下,例如:

 public class CheckHeldDown : Monobehaviour
 {
     public bool isHeldDown = false;
 
     public void onPress ()
     {
         isHeldDown = true;
         Debug.Log(isHeldDown);
     }
 
     public void onRelease ()
     {
         isHeldDown = false;
         Debug.Log(isHeldDown);
     }
 }

如果您想在移动设备上构建游戏,您可以通过触摸音量来检测它。例如,这是我刚刚在赛车游戏中制作 Nitro 按钮的一些代码:

public class NitroButton : MonoBehaviour
{
    [HideInInspector]
    public bool pushed;
    public void Update()
    {
        if (Input.touchCount >= 2)
        {
            pushed = true;
        }
        else
        {
            pushed = false;
        }
    }
}

这也允许两个手指推动等。