Esempio n. 1
0
    void FixedUpdate()
    {
        legs.UD = 0;
        legs.LR = 0;
        if (Input.GetKey(KeyCode.W))
        {
            transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z + speed);
            legs.UD            = 1;
        }
        if (Input.GetKey(KeyCode.S))
        {
            transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z - speed);
            legs.UD            = 2;
        }
        if (Input.GetKey(KeyCode.A))
        {
            transform.position = new Vector3(transform.position.x - speed, transform.position.y, transform.position.z);
            legs.LR            = 1;
        }
        if (Input.GetKey(KeyCode.D))
        {
            transform.position = new Vector3(transform.position.x + speed, transform.position.y, transform.position.z);
            legs.LR            = 2;
        }
        if (legs.UD == 0 && legs.LR == 0)
        {
            legs.anim.SetBool("isWalking", false);
            anim.SetBool("isWalking", false);
        }
        else
        {
            legs.anim.SetBool("isWalking", true);
            anim.SetBool("isWalking", true);
        }
        transform.position     = new Vector3(transform.position.x, 0.9f, transform.position.z);
        cam.transform.position = new Vector3(transform.position.x, 10, transform.position.z);
        CamShake();

        //Top half rotates to camera
        Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 100))
        {
            hit.point = new Vector3(hit.point.x, transform.position.y, hit.point.z);
            Debug.DrawLine(transform.position, hit.point);
            transform.LookAt(hit.point);
            direction = hit.point - transform.position;
        }

        legs.transform.position = new Vector3(transform.position.x, 0.4f, transform.position.z);
        legs.PointLegs(legs.LR, legs.UD);
    }