Аппаратная кнопка "назад" на мобильном устройстве

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Аппаратная кнопка "назад" на мобильном устройстве

Сообщение kor1b 09 авг 2018, 00:10

Здравствуйте. Пытаюсь реализовать функцию возврата в предыдущее меню с помощью аппаратной кнопки "назад". Перерыл весь гугл, но везде пишут одно и то же:
Синтаксис:
Используется csharp
private void Update()
        {
                if (Application.platform == RuntimePlatform.Android)
                {
                if (Input.GetKey(KeyCode.Home) || Input.GetKey(KeyCode.Escape) || Input.GetKey(KeyCode.Menu))
                {
                        Debug.Log("Work");
                        Back();//метод, который выполняется при нажатии
                }
                }
        }

Дело в том, что у меня мейзу (если кто не знает, то тут кнопка возврата сенсорная и вызывается прикосновением к кнопке "домой"). Тестирую на unity remote 5. И хотел бы узнать: это баг remote или для мейзу все нужно делать по-другому?
kor1b
UNITрон
 
Сообщения: 172
Зарегистрирован: 25 дек 2017, 20:32

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение v319 10 авг 2018, 09:28

1. Returns true while the user holds down the key identified by name. Вам точно нужно удержание на мобильном ?
2. А что мешает посмотреть код кнопки "назад" ?
3. Имхо, такие штуки лучше делать через platform dependent compilation, иначе у вас в апдейте будет лишний if
Аватара пользователя
v319
UNIт
 
Сообщения: 88
Зарегистрирован: 10 мар 2014, 20:48

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение IDoNotExist 10 авг 2018, 09:47

kor1b писал(а):Здравствуйте. Пытаюсь реализовать функцию возврата в предыдущее меню с помощью аппаратной кнопки "назад".

Кнопка "назад" - KeyCode.Escape;
Кнопка "домой" - KeyCode.Home;
Кнопка "меню" - KeyCode.Menu;

а условие у тебя:
if (Input.GetKey(KeyCode.Home) || Input.GetKey(KeyCode.Escape) || Input.GetKey(KeyCode.Menu))

Соответственно, оно сработает при нажатии на любую из 3-х кнопок, соответственно если тебе нужно чтобы срабатывало только по кнопке "назад", то ты в условии оставляешь только KeyCode.Escape:
if (Input.GetKey(KeyCode.Escape))
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение kor1b 10 авг 2018, 14:19

v319 писал(а):1. Returns true while the user holds down the key identified by name. Вам точно нужно удержание на мобильном ?
2. А что мешает посмотреть код кнопки "назад" ?
3. Имхо, такие штуки лучше делать через platform dependent compilation, иначе у вас в апдейте будет лишний if


Так дело не в этом. У меня на сцене есть кнопка "назад", которая работает так, как нужно. Суть в том, что у меня не срабатывает именно аппаратная кнопка, вот и ищу способ вызвать ее
kor1b
UNITрон
 
Сообщения: 172
Зарегистрирован: 25 дек 2017, 20:32

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение kor1b 10 авг 2018, 14:21

IDoNotExist писал(а):
kor1b писал(а):Здравствуйте. Пытаюсь реализовать функцию возврата в предыдущее меню с помощью аппаратной кнопки "назад".

Кнопка "назад" - KeyCode.Escape;
Кнопка "домой" - KeyCode.Home;
Кнопка "меню" - KeyCode.Menu;

а условие у тебя:
if (Input.GetKey(KeyCode.Home) || Input.GetKey(KeyCode.Escape) || Input.GetKey(KeyCode.Menu))

Соответственно, оно сработает при нажатии на любую из 3-х кнопок, соответственно если тебе нужно чтобы срабатывало только по кнопке "назад", то ты в условии оставляешь только KeyCode.Escape:
if (Input.GetKey(KeyCode.Escape))

Весь прикол в то, что у меня не срабатывает вообще. Что я жму "домой", что "назад", что "меню" - ноль эффекта. Эти условия я ставил только для того, чтобы проверить, вдруг сработает хоть с какой-то из кнопок
kor1b
UNITрон
 
Сообщения: 172
Зарегистрирован: 25 дек 2017, 20:32

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение 1max1 10 авг 2018, 16:35

сделай простенький скриптик который выведет какая кнопка нажата в данный момент и посмотри свои кнопки
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Аппаратная кнопка "назад" на мобильном устройстве

Сообщение kor1b 10 авг 2018, 23:43

Всем спасибо за помощь. Проблема решилась сама собой. Дело в том (не знаю, может, это только у меня так), но unity remote 5 не реагирует на аппаратные кнопки. Когда сделал билд под андроид, то кнопки чудом заработали)
kor1b
UNITрон
 
Сообщения: 172
Зарегистрирован: 25 дек 2017, 20:32


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12