Ejemplo n.º 1
0
        private void Update()
        {
            if (volumeController && !mGameOver)
            {
                if (!volumeController.IsPlaying)
                {
                    volumeController.Play();
                }
                float velVert  = Input.GetAxis("Vertical");
                float velHoriz = Input.GetAxis("Horizontal");

                float speedPenalty = Mathf.Abs(velHoriz);
                float speedRaw     = volumeController.Speed + velVert * Time.deltaTime * Mathf.Lerp(accelerationBackward, accelerationForward, (velVert + 1f) / 2f) - speedPenalty * accelerationBackward * Time.deltaTime * 0.25f - speedBleed * Time.deltaTime;

                volumeController.Speed          = Mathf.Clamp(speedRaw, 0f, maxSpeed);
                volumeController.CrossPosition += AngularVelocity * Mathf.Clamp(volumeController.Speed / 10f, 0.2f, 1f) * velHoriz * Time.deltaTime;


                if (rotatedTransform)
                {
                    float yTarget = Mathf.Lerp(-90f, 90f, (velHoriz + 1f) / 2f);
                    rotatedTransform.localRotation = Quaternion.Euler(0f, yTarget, 0f);
                }
            }
        }