Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (m_InputInterface.GetKey(KeyCode.W))
        {
            v3MoveDirection += transform.forward * fMovespeed * Time.deltaTime;
        }

        if (m_InputInterface.GetKey(KeyCode.A))
        {
            v3MoveDirection += transform.right * fMovespeed * Time.deltaTime;
        }

        if (m_InputInterface.GetKey(KeyCode.S))
        {
            v3MoveDirection += transform.forward * -1 * fMovespeed * Time.deltaTime;
        }

        if (m_InputInterface.GetKey(KeyCode.D))
        {
            v3MoveDirection += transform.right * -1 * fMovespeed * Time.deltaTime;
        }

        if (m_InputInterface.GetKeyDown(KeyCode.Space))
        {
            if (m_Controller.isGrounded)
            {
                v3MoveDirection.y += fJumpSpeed;
            }
        }

        v3MoveDirection.y += fGravity * Time.deltaTime;

        if (m_Controller.isGrounded)
        {
            v3MoveDirection *= 0.9f;
        }

        m_Controller.Move(v3MoveDirection * Time.deltaTime);

        m_Anim.SetFloat("Forward", Vector3.Dot(v3MoveDirection, transform.forward));
        m_Anim.SetFloat("Right", Vector3.Dot(v3MoveDirection, transform.right));
    }