点击按钮Unity

时间:2016-02-16 13:59:30

标签: c# unity3d uibutton

我尝试将智能手机的应用程序开发为Moverio SmartGlass。

我发现了一个无法解决的问题。当我使用智能手机时,我总是可以使用触摸屏点击一个按钮。但是我的SmartGlass只有一个垫子。因此,当我的菜单出现时,我的按钮保持不可点击状态。

我的问题是,如何预先选择按钮(只有一个按钮),可以通过打击垫上的确定按钮进行点击。

注意:我尝试在打击垫上使用方向箭头来选择按钮,但这不起作用。 Button to make pre-selected

我的团结剧本的一部分。

using UnityEngine;
using System.Collections;

public class StepWindow : MonoBehaviour
{

    private Rect windowSize = new Rect(15,15,420,300);
    private Rect buttonSize = new Rect (10, 235, 400, 50);
    private Rect labelSize1 = new Rect (10, 25, 400, 50);
    private Rect labelSize2 = new Rect (10, 65, 400, 50);
    private Rect labelSize3 = new Rect (10, 105, 400, 50);
    private Rect labelSize4 = new Rect (10, 145, 400, 50);

    private string strEtape1 = "1. Scannez l'armoire ";
    private string strEtape2 = "2. Ouvrez l'armoire ";
    private string strEtape3 = "3. Localisez les switchs";
    private string strEtape4 = "4. Réarmez le disjoncteur";

    private void OnGUI()
    {
        //Debug.Log ("Utils.isScenarioStarted() : "+ Utils.isScenarioStarted() + " - state : " + StateMachine.instance.state);
        if (Utils.isScenarioStarted())
            GUI.Window (0, windowSize,MyWindow, "Etapes");
    }

    private void MyWindow(int id)
    {
        GUIStyle defaultTextStyle = new GUIStyle ();
        defaultTextStyle.normal.textColor = Color.white;
        defaultTextStyle.fontSize = 20;
        GUIStyle redCurrent = new GUIStyle();
        redCurrent.normal.textColor = Color.red;
        redCurrent.fontSize = 25;

        switch(StateMachine.instance.state)
        {
        case StateMachine.State.INIT:
            if (GUI.Button(buttonSize, "Commencer"))
            {
                StateMachine.instance.state = StateMachine.State.SCAN_RACK;
            }
            break;
        case StateMachine.State.SCAN_RACK:  
            GUI.Label (labelSize1, strEtape1 + Utils.getAlarmName(), redCurrent); 
            if (GUI.Button(buttonSize, "Suivant")) //this button
            {
                // test Franck 
                StateMachine.instance.state = StateMachine.State.OPEN_RACK;
            }
            break;

.....
.....

你有解决方案..?

谢谢!

0 个答案:

没有答案