Прокрутите фон, перетаскивая пальцы вертикально - PullRequest
0 голосов
/ 28 мая 2019

Я хочу изменить этот код вместо прокрутки самого фона, чтобы прокрутить пальцами по вертикали.

private float speed = 0.5f;
Vector2 startPos;

void Start () {

    startPos = transform.position;

}

void Update () {

    transform.Translate((new Vector2(0, -1)) * speed * Time.deltaTime);

    if (transform.position.y < -19)
    {

        transform.position = startPos;

    }

}

1 Ответ

0 голосов
/ 28 мая 2019

Используйте Input.touchCount, Input.GetTouch и touch.deltaPosition, чтобы определить, насколько далеко переместилось касание.

Вы можете игнорировать deltaTime, потому что это уже выражено в том, сколько экрана было перемещено с последнего кадра.

void Update () {
    if (Input.touchCount > 0 ) 
    { 
        Touch touch = Input.GetTouch(0);

        float yMove = touch.deltaPosition.y / Screen.height;

        transform.Translate(Vector2.up * yMove * speed);

        if (transform.position.y < -19)
        {
            transform.position = startPos;
        }
    }

}
...