用户界面-如何使用统一的GUI按钮



我想通过unity3d unityscript中的GUI按钮获得用户输入。我写了这个脚本,通过键盘获得用户输入

var f_hor : float = Input.GetAxis("Horizontal");
//Get Vertical move - move forward or backward
var f_ver : float = Input.GetAxis("Vertical");
if (f_ver < 0) {
b_isBackward = true;
} else {
b_isBackward = false;
}

它工作正常,相应地给我0和1。。但我希望通过GUI按钮执行相同的操作。就像我有四个GUI按钮一样。。他们的工作方式和这个一样。。。我可以在ONGUI功能中制作GUI按钮。。但是我怎样才能实现这个功能。。。任何帮助

尽管我不知道这是否是最好的方法(Unity的gui元素不是ingame HUD或菜单的最佳选择(,但这应该可以完成任务:

private bool buttonPressed = false;
public void Update()
{
    if (buttonPressed)
    {
         //do what you want
         buttonPressed = false;
    }
}

很抱歉使用了C#代码,但我不知道JS。翻译难应该很容易。

public void OnGui()
{
    Rect rect = new Rect(...); //your button dimension
    if (GUI.Button(rect, "AButton")
    {
        buttonPressed = true;
    }
}

编辑:

如果您想手动处理鼠标输入,可以使用MonoBehavior的方法,如OnMouseDown或OnMouseUp。

或者,您可以从Update内部检查是否发生鼠标事件,查看Input.GetMouseButton或Input类的类似方法。

相关内容

  • 没有找到相关文章

最新更新