почему когда отпускаю джойстик персонаж возвращается в начальное положение с джойстиком?

public Camera cam;
public Image joystick;
private float speed = 2f, cameraSmoothSpeed = 1f;
public GameObject character, scriptmanager;
public Vector3 targetPos, camdistance = new Vector3(0f, 13f, -14f);
private bool joystickPressed;

void Start()
{
    joystickPressed = true;
}

void OnMouseDown()
{
    joystickPressed = true;
}

void OnMouseUp()
{
    joystickPressed = false;
}

void Update()
{
    if(joystickPressed == true)
    {
        targetPos = new Vector3(joystick.rectTransform.localPosition.x, character.transform.position.y, joystick.rectTransform.localPosition.y);
        character.transform.position = Vector3.MoveTowards(character.transform.position, targetPos, speed * Time.deltaTime);
        character.transform.LookAt(targetPos);
    }
    Vector3 distance = character.transform.position + camdistance;
    cam.transform.position = Vector3.Lerp(cam.transform.position, distance, cameraSmoothSpeed * Time.deltaTime);
    cam.transform.LookAt(character.transform.position);
}

Ответы (0 шт):