我希望通过unity3d unityscript中的GUI Button获得用户输入。我已编写此脚本以通过键盘输入用户输入
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按钮...就像我这样工作...我可以制作GUI按钮在ONGUI函数..但我怎样才能实现这个功能...任何帮助
答案 0 :(得分:0)
尽管我不知道这是不是最好的方式(Unity的gui元素不是最好的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
类的类似方法。