Ejemplo n.º 1
0
    void Update()
    {
        Vector2 tempppp = pointVector;

        tempppp.Normalize();
        //magni.text = pointVector2.ToString();

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
        {
            currentPosition = Input.GetTouch(0).position;
            //initialPress = Input.GetTouch(0).position;
            //imgTransform.position = initialPress;
            //nuppi.color = Color.white;
        }

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
        {
            pointVector = Input.mousePosition - imgStartPosition;
            //imgTransform.position = pointVector;
            if (pointVector.magnitude <= maxInput)
            {
                //p
                //pointVector2 = Input.mousePosition - initialPress;
                if (pointVector.magnitude > inputDeadzone)
                {
                    player.ReceiveInput(CalculateInput(pointVector));
                    joystickimg.transform.position = Input.mousePosition;
                }
            }
            else
            {
                player.ReceiveInput(CalculateInput(pointVector));
                pointVector.Normalize();
                joystickimg.transform.position = (pointVector * maxInput) + transform.position;
            }
        }

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Stationary)
        {
            pointVector = Input.mousePosition - imgStartPosition;
            if (pointVector.magnitude <= maxInput)
            {
                //pointVector = Input.mousePosition - initialPress;
                //imgTransform.position = initialPress;
                if (pointVector.magnitude > inputDeadzone)
                {
                    player.ReceiveInput(CalculateInput(pointVector));
                    joystickimg.transform.position = Input.mousePosition;
                }
            }
            else
            {
                player.ReceiveInput(CalculateInput(pointVector));
                pointVector.Normalize();
                joystickimg.transform.position = (pointVector * maxInput) + transform.position;
            }
        }
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)
        {
            currentPosition = Vector3.zero;
            //initialPress = Vector3.zero;
            //current.color = Color.clear;
            joystickimg.transform.position = imgStartPosition;
        }
    }