Exemplo n.º 1
0
    private void LateUpdate()
    {
        TouchController tc = TouchController.GetController();
        Vector2?        vX = tc.Position();
        Vector2?        vD = tc.Delta();

        if (vX.HasValue && vD.HasValue && vD.Value.magnitude > dragThreshold)
        {
            Vector2    v       = vX.Value;
            Ray        raycast = Camera.main.ScreenPointToRay(v);
            RaycastHit r;
            if (Physics.Raycast(raycast, out r, Mathf.Infinity))
            {
                Debug.DrawRay(raycast.origin, r.point - raycast.origin, Color.red, 3);
                Vector3 difference = r.point - dragOrigin;
                Vector3 target     = transform.position - difference;
                transform.position = Vector3.Lerp(transform.position, target, .75f);
                dragOrigin         = r.point;
            }
        }
    }