在Unity中一次按下多个GUI元素

时间:2013-08-24 17:54:17

标签: mobile unity3d unityscript

我正在为移动平台开发控件;我的GUI占据了屏幕的左侧,中间和右侧三分之一。当玩家想要跳跃时,他们按下中央按钮。我的问题是,似乎只允许一次按下一个GUI元素(就像设备只有一个移动的鼠标光标),而不是允许我同时跳转并向右移动。我的代码:

// JavaScript
#pragma strict

static var guiLeft : int = 0;
static var guiRight : int = 0;
static var guiJump : int = 0;

function OnGUI () {

// leftarrow
if (GUI.RepeatButton (Rect (0,0,Screen.width/3,Screen.height), "", GUIStyle.none)) {
    guiLeft = 1;

    }
    else{
    guiLeft = 0;
    }


// right
if (GUI.RepeatButton (Rect (Screen.width-Screen.width/3,0,Screen.width/3,Screen.height), "", GUIStyle.none)) {
    guiRight = 1;
    }
    else{
    guiRight = 0;
    }

            // jump
if (GUI.RepeatButton (Rect (Screen.width/3,0,(Screen.width/3)+2,Screen.height), "", GUIStyle.none)) {
    guiJump = 1;
    }
    else{
    guiJump = 0;
    }

}

1 个答案:

答案 0 :(得分:1)

Unity GUI一次只支持一个输入源(例如鼠标左键或鼠标右键)。解决问题的正确方法是使用Input.touches。这确实意味着你必须在游戏中改变很多东西。