unity VR菜单按键选择


using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.UI;

public class MenuController : MonoBehaviour
{

    public GameObject[] Button_Object;
    public int buttonCurIndex = -1;
    

    // Use this for initialization
    void Start()
    {
        HoverNext();
    }

    public void HoverNext()
    {    
        buttonCurIndex++;
        buttonCurIndex = buttonCurIndex % Button_Object.Length;

        for (int i = 0; i < Button_Object.Length; i++)
        {
            if (i != buttonCurIndex)
            {
                Button_Object[i].GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
               
            }
            else
            {
                Button_Object[i].GetComponent<Image>().color = new Color(0.5f, 1.0f, 0.5f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(450, 180);
            }

        }
    }

    public void HoverPrev()
    {
        buttonCurIndex--;
        if (buttonCurIndex < 0)
            buttonCurIndex = Button_Object.Length - 1;

        for (int i = 0; i < Button_Object.Length; i++)
        {
            if (i != buttonCurIndex)
            {
                Button_Object[i].GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
               
            }
            else
            {
                Button_Object[i].GetComponent<Image>().color = new Color(0.5f, 1.0f, 0.5f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(450, 180);
            }

        }
    }

   
    public void HoverRight()
    {
        if (buttonCurIndex < Button_Object.Length / 2)
        {
            buttonCurIndex = buttonCurIndex + Button_Object.Length / 2;
        }

        for (int i = 0; i < Button_Object.Length; i++)
        {
            if (i != buttonCurIndex)
            {
                Button_Object[i].GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
            }
            else
            {
                Button_Object[i].GetComponent<Image>().color = new Color(0.5f, 1.0f, 0.5f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(450, 180);
            }

        }
    }

    public void HoverLeft()
    {
        if (buttonCurIndex >= Button_Object.Length / 2)
        {
            buttonCurIndex = buttonCurIndex - Button_Object.Length / 2;
        }

        for (int i = 0; i < Button_Object.Length; i++)
        {
            if (i != buttonCurIndex)
            {
                Button_Object[i].GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(400, 150);
            }
            else
            {
                Button_Object[i].GetComponent<Image>().color = new Color(0.5f, 1.0f, 0.5f);
                Button_Object[i].GetComponent<RectTransform>().sizeDelta = new Vector2(450, 180);
            }

        }
    }

    public void PressCurrent()
    {
        switch (buttonCurIndex)
        {
            case 0:
              //DO Something
                break;
            case 1:
                //DO Something
                break;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Abel02/article/details/97370051