Unity 6.3
0 онлайн 82 гостей 3 в системе
Вход
Практическое руководство по разработке игр в Unity Глава 14 из 25 Оригинал, стр. 54

Ввод

Ввод В Unity есть две основные системы обработки ввода: Input System, устанавливаемая через Package Manager, и встроенный класс Input. Input System Input System ориентирована на простоту использования, гибкость и единообразную работу на разных устройствах и платформах. Она заменяет встроенный класс Input. Хотя ввод по-прежнему можно получать непосредственно от устройства, преимущества Input System особенно заметны, когда для управления взаимодействием игрока создаётся набор абстрактных действий. Затем можно создать actionMap - набор привязок и действий. Карта действий связывает эти действия с конкретными устройствами.

Input System доступна через Package Manager.

Чтобы адаптировать управление к новым устройствам, создавайте дополнительные карты действий, а не жёстко привязывайте код к определённым кнопкам устройства, клавишам клавиатуры и т. п. Настройте функции обратного вызова и действия один раз, а затем добавляйте новые сопоставления для поддержки других устройств.

Карты действий также позволяют переключать схему ввода в зависимости от игрового контекста. Например, управление игроком может работать по-разному при вождении, ходьбе и беге. Обязательно ознакомьтесь с кратким руководством по Input System и установите примеры, доступные через Package Manager. Встроенный класс Input В качестве альтернативы используйте встроенный класс Input и Input Manager (Edit > Project Settings > Input Manager) с виртуальными осями

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

Встроенный Input Manager

Ниже перечислены полезные классы и методы для работы с вводом: Input

Читает оси Conventional Game Input и предоставляет доступ к мультитач-вводу и акселерометру на мобильных устройствах.

Input.GetAxis

Возвращает сглаженное значение виртуальной оси axisName: от -1 до 1 для клавиатуры и джойстика; для мыши - текущее смещение, умноженное на чувствительность оси.

Input.GetAxisRaw

Аналог Input.GetAxis без сглаживания.

Input.GetButton

Возвращает true, пока виртуальная кнопка buttonName удерживается.

Input.GetButtonDown

Возвращает true в кадре нажатия виртуальной кнопки buttonName.

Input.GetKey

Возвращает true, пока пользователь удерживает клавишу name.

Input.GetKeyDown

Возвращает true в кадре начала нажатия клавиши name.

Input.touches

Доступный только для чтения список касаний за предыдущий кадр.

Touch

Описывает состояние пальца, касающегося экрана.

KeyCode

Перечисляет варианты клавиш, кнопок мыши и джойстика.

Обзор встроенной системы ввода см. на странице Input Manual.