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;
}
}
}
这也允许两个手指推动等。