示例#1
0
    public void Inite()
    {
        startpos = new Vector2(transform.localPosition.x, transform.position.y);

        Panel_show10    = transform.FindChild("Panel_show0").gameObject;
        bottompanel     = transform.FindChild("Panel_bottom").gameObject;
        BackgroundImage = bottompanel.transform.FindChild("BackImage").gameObject;

        BottomItemsHigh = bottompanel.GetComponent <RectTransform> ().rect.height;

        GridLayoutGroup bottomglg = bottompanel.GetComponent <GridLayoutGroup> ();

        //使用Gridlayout初始化cellsize的大小,不能控制锚点,在Inspectors以取消勾选
        GridLayoutGroup glg = Panel_show10.GetComponent <GridLayoutGroup> ();

        bottomglg.cellSize = new Vector2((Screen.width / 4) + Panel_show10cellX, (Screen.height / 8));
        glg.cellSize       = new Vector2(Screen.width + Panel_show10cellX, Screen.height - bottomglg.cellSize.y);
        glg.spacing        = new Vector2(Panel_show10Xspeacing, Panel_show10cellYspeacing);


        parentwidth = Panel_show10.transform.GetChild(0).GetComponent <RectTransform> ().rect.size.x;

        destinations = new Vector3[Panel_show10.transform.childCount];

        //不使用Gridlayout初始化Panel_show10子物体
        for (int i = 0; i < Panel_show10.transform.childCount; i++)
        {
            Debug.Log(parentwidth);
            Panel_show10.transform.GetChild(i).localPosition = new Vector3((i) * parentwidth, 0, 0);
            destinations [i] = new Vector3((i) * parentwidth, Panel_show10.transform.localPosition.y, 0);
        }


        //不使用Gridlayout初始化bottompanel子物体
        toggles = new Toggle[bottompanel.transform.childCount - 1];
        for (int i = 0; i < bottompanel.transform.childCount; i++)
        {
            //要添加最大按钮下的背景移动效果,所以改变bottompanel的结构,限制Image添加进去,切其ISblackCast要勾选掉
            if (bottompanel.transform.GetChild(i).gameObject.GetComponentInChildren <Toggle> ())
            {
                toggles [i] = bottompanel.transform.GetChild(i).gameObject.GetComponentInChildren <Toggle> ();
                itemschange change = toggles[i].gameObject.AddComponent <itemschange> ();
                change.uimanager = this;
                toggles[i].onValueChanged.AddListener(OnToggle);
            }
        }
        equalsL = (bottompanel.GetComponent <RectTransform> ().rect.width) / (toggles.Length - 1 + scaletitle);
        //初始化字典:
        //		for (int i = 0; i <  toggles.Length; i++)
        //		{
        //			panel_toggle.Add (toggles[i].gameObject,Panel_show10.transform.GetChild(i).gameObject);
        //		}

        //初始化状态为选中第三个按钮
        uimanagertogglechange = togglechange.toggle2;
        current  = toggles [0].gameObject;
        templerp = Panel_show10.transform.localPosition;
    }
示例#2
0
    /// <summary>
    /// 弹起时完成剩下动作
    /// </summary>
    /// <param name="eventData">Event data.</param>
    public void OnPointerUp(PointerEventData eventData)
    {
        isdrag = false;
        Vector3 tempdestination = startpos - eventData.position;

        if (nowpanle >= 0 && nowpanle <= 4)
        {
            if (deltaX > 10f || (deltaX > 1f && Vector3.Distance(startpos, eventData.position) > 300f))
            {
                nowpanle--;
            }
            if (deltaX < -10f || (deltaX < -1f && Vector3.Distance(startpos, eventData.position) > 300f))
            {
                nowpanle++;
            }
        }


        switch (nowpanle)
        {
        case 0:
        case -1:
            uimanagertogglechange = togglechange.toggle0;
            break;

        case 1:
            uimanagertogglechange = togglechange.toggle1;
            break;

        case 2:
            uimanagertogglechange = togglechange.toggle2;
            break;

        case 3:
            uimanagertogglechange = togglechange.toggle3;
            break;

        case 4:
        case 5:
            uimanagertogglechange = togglechange.toggle4;
            break;

        default:
            break;
        }
    }
示例#3
0
    void Update()
    {
        switch (uimanagertogglechange)
        {
        case togglechange.none:
            for (int i = 0; i < toggles.Length; i++)
            {
                toggles [i].transform.localScale = new Vector3(1f, 1f, 1f);
            }
            break;

        case togglechange.toggle0:
            LerpPanel(0);
            break;

        case togglechange.toggle1:
            LerpPanel(1);
            break;

        case togglechange.toggle2:
            LerpPanel(2);
            break;

        case togglechange.toggle3:
            LerpPanel(3);
            break;

        case togglechange.toggle4:
            LerpPanel(4);
            break;
        }

        //Touch控制拖动
#if UNITY_ANDRIOD
        if (Input.touchCount >= 1)
        {
            if (Input.GetTouch(0).phase == TouchPhase.Began)
            {
                Debug.Log("BeginTouch");
                isdrag   = true;
                deltaX   = 0f;
                startpos = Input.GetTouch(0).position;
            }
            if (Input.GetTouch(0).phase == TouchPhase.Moved)
            {
                deltaX = Input.GetTouch(0).position.x;
                Panel_show10.transform.localPosition += new Vector3(Input.GetTouch(0).position.x, 0f, 0f);
            }
            if (Input.GetTouch(0).phase == TouchPhase.Canceled)
            {
                isdrag = false;
                //	Vector3 tempdestination = startpos - Input.GetTouch (0).position;
                if (nowpanle >= 0 && nowpanle <= 4)
                {
                    if (deltaX > 10f || (deltaX > 1f && Vector3.Distance(startpos, Input.GetTouch(0).position) > 300f))
                    {
                        nowpanle--;
                    }
                    if (deltaX < -10f || (deltaX < -1f && Vector3.Distance(startpos, Input.GetTouch(0).position) > 300f))
                    {
                        nowpanle++;
                    }
                }


                switch (nowpanle)
                {
                case 0:
                case -1:
                    uimanagertogglechange = togglechange.toggle0;
                    break;

                case 1:
                    uimanagertogglechange = togglechange.toggle1;
                    break;

                case 2:
                    uimanagertogglechange = togglechange.toggle2;
                    break;

                case 3:
                    uimanagertogglechange = togglechange.toggle3;
                    break;

                case 4:
                case 5:
                    uimanagertogglechange = togglechange.toggle4;
                    break;

                default:
                    break;
                }
            }
        }
#endif
    }