示例#1
0
    private void FixedUpdate()
    {
        if (state_ == State.DYING)
        {
            return;
        }

        float movementSpeed = movementVector.magnitude;
        float movementAngle = Vector2.SignedAngle(new Vector2(movementVector.x, movementVector.y),
                                                  new Vector2(transform.forward.x, transform.forward.z));

        Debug.DrawLine(transform.position, transform.position + (Vector3)movementVector * 10);

        carMovement.Movement(movementAngle, movementSpeed);
    }
示例#2
0
    private void FixedUpdate()
    {
        if (state_ == State.DYING)
        {
            return;
        }

        if (movementVector != Vector2.zero)
        {
            movementSpeed = movementVector.magnitude;
            movementAngle = Vector2.SignedAngle(new Vector2(movementVector.x, movementVector.y),
                                                new Vector2(transform.forward.x, transform.forward.z));
        }
        carMovement.Movement(movementAngle, movementSpeed);
    }
示例#3
0
 // Update is called once per frame
 void FixedUpdate()
 {
     if (GameManager.Instance.CurrentState == GameManager.GameState.GAME)
     {
         float rotationInput = Input.GetAxis("Horizontal");
         float speedInput    = Input.GetAxis("Vertical");
         if (nbCarShake > 0)
         {
             carShakeTimer += Time.deltaTime * currentCarFrequencyGain;
             transform.Rotate(Vector3.forward, Mathf.Sin(carShakeTimer) * currentCarAmplitudeGain);
         }
         else
         {
             transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0);
             carMovement.Movement(rotationInput, speedInput);
         }
         gameUiManager.DisplaySpeed(carMovement.CurrentSpeed / carMovement.MaxSpeed);
         gameUiManager.DisplayLife(maxLife, Mathf.Abs(currentLife));
     }
 }