Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзор Unity.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.91 Mб
Скачать

Названия кнопок

Чтобы назначить кнопку оси, вам необходимо ввести имя кнопки в свойстве Positive Button или Negative Button в окне Inspector.

Названия кнопок следуют этому соглашению:

  • Обычные клавиши“: ”a“, ”b“, ”c" …

  • Цифровые клавиши: “1”, “2”, “3”, …

  • Клавиши стрелок: “up”, “down”, “left”, “right”

  • Клавиши цифровой клавиатуры: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”

  • Клавиши модификаторов: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd”

  • Клавиши мыши: “mouse 0”, “mouse 1”, “mouse 2”, …

  • Кнопки джойстика (от любого джойстика): “joystick button 0”, “joystick button 1”, “joystick button 2”, …

  • Кнопки джойстика (от заданного джойстика): “joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, …

  • Специальные клавиши: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”

  • Функциональные клавиши: “f1”, “f2”, “f3”, …

Названия, используемые для определения кнопок одни и те же при написании скриптов и в окне Inspector.

value = Input.GetKey ("a");

Ввод на мобильном устройстве

На мобильных устройствах класс Input предоставляет доступ к нажатию на экран, акселерометру и географическим/локационным данным.

Доступ к клавиатуре на мобильных устройствах обеспечивается через iOS keyboard.

Multi-Touch Screen

iPhone и iPod способны отслеживать до пяти нажатий на экран одновременно. Вы можете получить статус каждого нажатия на протяжении последнего кадра через массив Input.touches.

Android устройства не имеют определенного лимита на количество нажатий, которое можно отслеживать. Он колеблется от устройства к устройству и может варьироваться от одного-двух нажатий на старых устройствах, до пяти нажатий на некоторых новых.

Каждое нажатие пальцем представлено в структуре данных Input.Touch:

Свойство:

Функция:

fingerId

Уникальный индекс для нажатия.

position

Позиция нажатия на экран.

deltaPosition

Изменение позиции на экране с последнего кадра.

deltaTime

Количество времени, которое прошло с тех пор как изменилось последнее состояние.

tapCount

Экраны iPhone/iPad способны различать быстрые нажатия пользователем. Этот счетчик позволит вам узнать как много времени пользователь нажимал (тапал) на экран, не перемещая палец по бокам. %android%Android устройства не считают количество тапов, это поле всегда равно 1.%%

phase

Состояния прикосновений мы называем “фазами”. Они помогут вам определить, прикосновение к экрану только что произошло, или пользователь двигает палец, или только что оторвал палец от экрана.

Фазы могут быть следующими:

Began

Палец только что прикоснулся к экрану.

Moved

Палец передвинулся по экрану.

Stationary

Палец прикоснулся к экрану, но с последнего кадра не двигался.

Ended

Палец только что оторван от экрана. Это последняя фаза нажатий.

Canceled

Если пользователь вводит более 5 нажатий одновременно, система отменяет отслеживание прикосновений к экрану. Это последняя фаза прикосновений.

Ниже приведен пример скрипта, который выпускает луч там, где пользователь тапает по экрану:

var particle : GameObject;

function Update () {

for (var touch : Touch in Input.touches) {

if (touch.phase == TouchPhase.Began) {

// Construct a ray from the current touch coordinates

var ray = Camera.main.ScreenPointToRay (touch.position);

if (Physics.Raycast (ray)) {

// Create a particle if hit

Instantiate (particle, transform.position, transform.rotation);

}

}

}

}