コード例 #1
0
    private void FixedUpdate() //Check for commands 60 times a second
    {
        if (connectionState == ConnectionState.CONNECTED)
        {
            string cmd = CheckForRecievedData();
            if (cmd == string.Empty)
            {
                return;
            }
            if (cmd.StartsWith("R"))//Recieved Accelerometer Command
            {
                acclData = ParseAccelerometerData(cmd);
                if (!isCalibrated)
                {
                    isCalibrated = true;
                    CalibrateAccelerometer();
                }
            }
            if (cmd == "D")
            {
                if (playerGrapple != null)
                {
                    playerGrapple.FireGrapple();
                    audioSource.PlayOneShot(fireGrapple);
                }

                Debug.Log("BUTTON_DOWN");
            }

            if (cmd == "U")
            {
                if (playerGrapple != null)
                {
                    playerGrapple.ReleaseGrapple();
                }
                Debug.Log("BUTTON_UP");
            }
            if (cmd == "C")
            {
                CalibrateAccelerometer();
                Debug.Log("CALIBRATE");
            }
            if (cmd.StartsWith("COL"))
            {
                if (Camera.main != null)
                {
                    ParseRGB(cmd);
                }
                Debug.Log("COLOR");
            }
            if (cmd.StartsWith("Z"))
            {
                if (Camera.main != null)
                {
                    AdjustZoom(cmd);
                    audioSource.PlayOneShot(adjustZoomSound);
                }

                Debug.Log("ZOOM");
            }
            Camera.main.orthographicSize = zoomLevel;
            acclCalibrated = GetAccelerometer(acclData);
            acclCalibrated = new Vector3(0, 0, -acclCalibrated.y);
            if (playerTarget != null)
            {
                playerTarget.transform.rotation = Quaternion.Slerp(playerTarget.transform.rotation, Quaternion.Euler(acclCalibrated), Time.deltaTime * 10);
            }
        }
    }