Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何在unity中使用GUI按钮_User Interface_Unity3d_Unityscript - Fatal编程技术网

User interface 如何在unity中使用GUI按钮

User interface 如何在unity中使用GUI按钮,user-interface,unity3d,unityscript,User Interface,Unity3d,Unityscript,我想通过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 {

我想通过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;
}
var f_hor:float=Input.GetAxis(“水平”);
//获得垂直移动-向前或向后移动
变量f\u ver:float=Input.GetAxis(“垂直”);
如果(f_ver<0){
b_isBackward=true;
}否则{
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#
code,但我不知道
JS
。它应该很容易翻译

public void OnGui()
{
    Rect rect = new Rect(...); //your button dimension

    if (GUI.Button(rect, "AButton")
    {
        buttonPressed = true;
    }
}

编辑:

如果要手动处理鼠标输入,可以使用或等方法


或者,您可以从内部检查
Update
如果发生鼠标事件,请查看
Input
类的方法或类似方法。

我在更新功能中完成了所有工作。如果我在ONGUI功能中完成了所有工作,则不进行更新。这项工作很好。但现在我有一个问题…我在发布时如何获得连续输入按下GUI按钮,就像我按下箭头键一样,我会得到连续的输入,直到我按下键盘按钮…@user1594794:基本上你不能。OnGUI不像更新那样连续调用。这就是为什么我在回答中将其分为两个函数。感谢你的回复@Hesenbug…我在GUI按钮上有一个prolem…当我按下GUI按钮并按住时我的播放器将继续移动,动画将像我按向上箭头键一样运行…我如何做…我建议你不要使用按钮。使用2d纹理显示按钮并手动处理鼠标输入。我正在为android制作游戏…通过手指触摸移动角色好吗…或者有可能,如果有链接到这……先谢谢你