0

我正在为移动平台开发控件;我的 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;
    }

}

4

1 回答 1

1

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

于 2013-08-26T07:58:21.873 回答