示例#1
0
    public void CheckDir(int n)
    {
        float[] e     = new float[3];
        float   deg_x = 0;
        float   deg_y = 0;
        float   deg_z = 0;

        if (BLE != null)
        {
            e     = BLE.GetBLEeuler(n);
            deg_x = e [0];
            deg_y = e [1];
            deg_z = e [2];
        }

        int keyin = 0;

        if (Input.GetKey(KeyCode.UpArrow))
        {
            keyin = 1;
        }
        else if (Input.GetKey(KeyCode.LeftArrow))
        {
            keyin = 2;
        }
        else if (Input.GetKey(KeyCode.RightArrow))
        {
            keyin = 3;
        }


        //if (n == 0) {
        //DebugLog.text = deg_x + " " + deg_y + " " + deg_z;
        //}

        int dir = gb.CheckDir(n, deg_x, deg_y, deg_z);

        //往左
        if ((dir == 3) || keyin == 2)
        {
            MagicDir[n].SetActive(true);
            Quaternion quate = Quaternion.identity;
            quate.eulerAngles = new Vector3(0, 0, 90f);
            MagicDir[n].transform.rotation = quate;
            IMUID [n + 1] = 3;
        }

        //往右
        else if (dir == 2 || keyin == 3)
        {
            MagicDir[n].SetActive(true);
            Quaternion quate = Quaternion.identity;
            quate.eulerAngles = new Vector3(0, 0, -90f);
            MagicDir[n].transform.rotation = quate;
            IMUID [n + 1] = 2;
        }


        else if (dir == 1 || keyin == 1)
        {
            MagicDir[n].SetActive(true);
            Quaternion quate = Quaternion.identity;
            quate.eulerAngles = new Vector3(0, 0, 0f);
            MagicDir[n].transform.rotation = quate;
            IMUID [n + 1] = 1;
        }
        else
        {
            MagicDir[n].SetActive(false);
            IMUID [n + 1] = 0;
        }

        /*
         * if (deg >= 225 && deg < 315) {
         *      MagicDir[n].SetActive (false);
         *      Quaternion quate = Quaternion.identity;
         *      quate.eulerAngles = new Vector3 (0, 0, -225);
         *      MagicDir[n].transform.rotation = quate;
         *      handmode = 3;
         * }
         */
    }