Как заставить работать левую и правую кнопки? Unity3D C # - PullRequest
0 голосов
/ 30 сентября 2019

Мне нужна помощь в работе этих двух кнопок:

My setup

Я посмотрел много видео на YouTube, но это не помогло мне.

Я уже написал эту часть кода, чтобы иметь возможность управлять своим объектом с помощью кнопок D и A на клавиатуре, но я хочу, чтобы пользователь на телефоне мог управлять объектом с помощью боковых кнопок. Вот мой контроллер клавиатуры:

public Rigidbody rb;
public float forwardForce = 500f;
public float sidewaysForce = 100f;

void FixedUpdate()
{
    rb.AddForce(0, 0, forwardForce * Time.deltaTime);

    if (Input.GetKey("d"))
    {
        rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0);
    }

    if (Input.GetKey("a"))
    {
        rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0);
    }
}

1 Ответ

0 голосов
/ 30 сентября 2019

Я рекомендую вам использовать компонент Button.

. Вы можете добавить свои 2 кнопки, щелкнув правой кнопкой мыши на GameObject под названием Canvas и выбрав UI / Button .

Переместите одну кнопку влево, другую вправо, как вы хотите. Затем на ваших 2 новых созданных GameObjects вы можете удалить компонент Image. Кнопки все еще остаются, исчезли только background images.

Теперь вы можете создать 2 новых метода следующим образом:

public void OnClickLeft(){
   rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0);
}

public void OnClickRight(){
    rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0);
}

Взгляните здесь , чтобы узнатькак связать ваши Button компоненты с вашими методами.

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