Как я могу сделать смахивание? - PullRequest
0 голосов
/ 21 марта 2020

У меня есть игра, созданная в единстве, как в метро, ​​все, что она делает, НО: на ноутбуке я могу использовать клавиши со стрелками влево и вправо для перемещения игрока, но на телефоне я не могу, нет кнопки, нет наклона, не проведите, ничего. Я приложил свой сценарий здесь, пожалуйста, помогите мне с некоторыми элементами управления, но чтобы иметь одинаковое значение с левой и правой. Спасибо!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    [Range(-2, 2)] public float value;
    public float Speed;
    Rigidbody rigid;
    private Transform player;
    private Vector3 desiredPosition;
    void Start()
    {
        rigid = GetComponent<Rigidbody>();
    }
    void FixedUpdate()
    {
        transform.position = new Vector3(value, transform.position.y, transform.position.z);
        rigid.velocity = (Vector3.forward * Time.deltaTime * Speed);
    }
    private void LateUpdate()
    {
        if (Input.GetButtonDown("Right"))
        {
            if (value == 2)
                return;
            value += 2;
        }
        if (Input.GetButtonDown("Left"))
        {
            if (value == -2)
                return;
            value -= 2;
        }
    }
}

1 Ответ

0 голосов
/ 21 марта 2020

Я бы сказал, что вам нужно найти положение пальца в начале, используя touch.position. Убедитесь, что прикосновение является прикосновением. Затем продолжайте находить положение касания, пока оно не достигнет желаемого уровня. Затем вызовите функцию, которая перемещает персонажа. Эта документация по единству может помочь вам и с сенсорным вводом. https://docs.unity3d.com/ScriptReference/Touch.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...