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; * } */ }