我正在为移动平台开发控件;我的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;
}
}
答案 0 :(得分:1)
Unity GUI一次只支持一个输入源(例如鼠标左键或鼠标右键)。解决问题的正确方法是使用Input.touches
。这确实意味着你必须在游戏中改变很多东西。