Input
класс в UnityEngine
Выполнено в:UnityEngine.InputLegacyModule
Описание
Интерфейс с устаревшей системой ввода.
Примечание: Input класс относится к устаревшему Input Manager. Рекомендуется не использовать этот API в новых проектах. Для новых проектов применяйте новый Input System пакет.
KeyCode сопоставляет физические ключи только если "Использовать физические ключи" включено в Параметры диспетчера вводаНачиная с 2022.1 "Использовать физические ключи" включено по умолчанию.
С помощью этого класса считывают оси, настроенные в Обычный Game Ввод, а также для доступа к мультитач / акселерометр данных на мобильных устройствах.
Для считывания оси используйте Input.GetAxis с одной из следующих осей по умолчанию: "Горизонтальная" и "Вертикальная" отображаются на джойстик, A, W, S, D и клавиши со стрелками. "Mouse X" и "Mouse Y" сопоставлены с дельтой мыши. "Fire1", "Fire2" "Fire3" сопоставлены с Ctrl, Alt, Cmd клавишами и тремя кнопками мыши или джойстика. Можно добавить новые оси ввода. См. Менеджер ввода за это.
Если вы используете ввод для любого вида поведения движения, используйте Input.GetAxis. Оно дает вам сглаженное и конфигурируемое введение которое можно отобразить к клавиатуре, джойстик или мыши. Используйте Input.GetButton только для событий, похожих на действие. Не используйте его для движения. Input.GetAxis сделает код скрипта меньше и проще.
Примечание: Input флаги не сбрасываются до тех пор, пока Update. Вы должны сделать все Input звонки в Update Беги.
Дополнительные ресурсы: KeyCode который перечисляет все варианты нажатия клавиш, мыши и джойстика.
Мобильные устройства:
Устройства iOS и Android способны отслеживать несколько пальцев, одновременно прикасающихся к экрану. Вы можете получить доступ к данным о состоянии каждого пальца, касающегося экрана в течение последнего кадра, используя Input.touches массив свойств.
По мере движения устройства его акселерометр сообщает об изменениях линейного ускорения вдоль трех основных осей в трехмерном пространстве. Вы можете использовать эти данные для обнаружения как текущей ориентации устройства (относительно земли), так и любых немедленных изменений в этой ориентации.
Ускорение вдоль каждой оси сообщается непосредственно аппаратным обеспечением в качестве значений G-force. Значение 1.0 представляет нагрузку около +1g вдоль данной оси, в то время как значение -1.0 представляет -1g. Если вы держите устройство вертикально (с кнопкой дома внизу) перед собой, ось X положительная вдоль правой, ось Y положительная прямо вверх, а ось Z положительная, указывающая на вас.
Вы можете использовать Input.acceleration свойство, чтобы получить показания акселерометра. Вы также можете использовать свойство Input.deviceOrientation свойство для получения дискретной оценки ориентации устройства в трехмерном пространстве. Обнаружение изменения ориентации может быть полезным, если вы хотите создать поведение игры, когда пользователь поворачивает устройство, чтобы держать его по-другому.
Обратите внимание, что аппаратное обеспечение акселерометра может быть запрошено более одного раза в кадре. Чтобы получить доступ ко всем образцам акселерометра с последнего кадра, вы можете использовать Input.accelerationEvents массив свойств. Это может быть полезно при реконструкции движений игрока, подаче данных ускорения в предсказатель или реализации другого точного анализа движения.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public void Update() { if (Input.GetButtonDown("Fire1")) { Debug.Log(Input.mousePosition); } } }
Этот компонент связан с устаревшими методами рисования текстур и изображений на экране UI. Вместо этого следует использовать систему UI. Это также не связано с системой IMGUI.
Статические свойства
| Свойство | Описание |
|---|---|
| acceleration | Последняя измеренная величина линейного ускорения устройства в трехмерном пространстве. (только для чтения) |
| accelerationEventCount | Число измерений ускорения, произведенных в течение последнего кадра. |
| accelerationEvents | Возвращает список измерений ускорения, которые произошли в течение последнего кадра. (только для чтения) (выделяет временные переменные). |
| anyKey | Удерживается ли какая-либо клавиша или кнопка мыши в данный момент? (только для чтения) |
| anyKeyDown | Возвращает true в первом кадре, когда пользователь нажимает любую клавишу или кнопку мыши. (Только чтение) |
| backButtonLeavesApp | Должна ли кнопка Назад выйти из приложения? |
| compass | Свойство для доступа компаса (только ручные устройства). (только для чтения) |
| compensateSensors | Это свойство определяет, должны ли датчики ввода компенсировать ориентацию экрана. |
| compositionCursorPos | Текущая позиция ввода текста, используемая IMEs для открытия окон. |
| compositionString | Текущая строка композиции IME, вводимая пользователем. |
| deviceOrientation | Физическая ориентация устройства, сообщенная OS. (только для чтения) |
| gyro | Возвращает гироскоп по умолчанию. |
| imeCompositionMode | Управление включением и отключением IME входной композиции. |
| imeIsSelected | Выбран ли у пользователя источник ввода с клавиатуры IME? |
| inputString | Возвращает ввод с клавиатуры в этот кадр. (Только чтение) |
| location | Свойство для доступа к расположению устройства (только для портативных устройств). (только для чтения) |
| mousePosition | Текущее положение мыши в координатах пикселей. (Только чтение). |
| mousePositionDelta | Текущее положение мыши в координатах пикселей. (Только для чтения). |
| mousePresent | Указывает, обнаружено ли устройство мыши. |
| mouseScrollDelta | Текущая дельта прокрутки мыши. (только для чтения) |
| multiTouchEnabled | Свойство, указывающее, обрабатывает ли система многократные касания. |
| penEventCount | Возвращает число событий ручки в очереди, доступ к которым можно получить при вызове [[GetPenEvent()]]. |
| simulateMouseWithTouches | Включает/выключает симуляцию мыши с касаниями. По умолчанию эта опция включена. |
| stylusTouchSupported | Возвращает true, если Stylus Touch поддерживается устройством или платформой. |
| touchCount | Число касаний. Гарантированно не меняется на протяжении всего кадра. (только для чтения) |
| touches | Возвращает список объектов, представляющих состояние всех касаний во время последнего кадра. (Только для чтения) (Выделяет временные переменные). |
| touchPressureSupported | Булевое значение, которое позволяет пользователям проверить, поддерживается ли сенсорное давление. |
| touchSupported | Возвращает информацию о том, поддерживает ли устройство, на котором в настоящее время запущено приложение, сенсорный ввод. |
Статические методы
| Метод | Описание |
|---|---|
| ClearLastPenContactEvent | Очистка последнего сохраненного события ручки. Вызов этой функции может повлиять на обработку событий для элементов UIToolKit. |
| GetAccelerationEvent | Возвращает определенное измерение ускорения, которое произошло во время последнего кадра. (Не выделяет временные переменные). |
| GetAxis | Возвращает значение виртуальной оси, заданной параметром axisName. |
| GetAxisRaw | Возвращает значение виртуальной оси, заданной параметром axisName, без сглаживающей фильтрации. |
| GetButton | Возвращает true, пока удерживается виртуальная кнопка, заданная параметром buttonName. |
| GetButtonDown | Возвращает true в течение того кадра, в котором пользователь нажал виртуальную кнопку, заданную параметром buttonName. |
| GetButtonUp | Возвращает true в первом кадре, в котором пользователь отпустил виртуальную кнопку, заданную параметром buttonName. |
| GetJoystickNames | Получает список имен устройств ввода, соответствующих индексу оси, настроенной в диспетчере ввода. |
| GetKey | Возвращает true, пока пользователь удерживает ключ, идентифицированный по имени. |
| GetKeyDown | Возвращает true во время кадра, когда пользователь начинает нажимать клавишу, идентифицированную по имени. |
| GetKeyUp | Возвращает true во время кадра, когда пользователь освобождает ключ, идентифицированный по имени. |
| GetLastPenContactEvent | Возвращает PenData для последнего сохраненного события pen up или pen down. |
| GetMouseButton | Возвращает информацию о том, удерживается ли указанная кнопка мыши. |
| GetMouseButtonDown | Возвращает true в течение кадра, в котором пользователь нажал указанную кнопку мыши. |
| GetMouseButtonUp | Возвращает true во время кадра, когда пользователь отпускает указанную кнопку мыши. |
| GetPenEvent | Возвращает PenData для события pen на указанном индексе в очереди событий pen. |
| GetTouch | Вызовите Input.GetTouch, чтобы получить структуру Touch. |
| IsJoystickPreconfigured | Определить, была ли определенная модель джойстика предварительно настроена Unity. (Linux-только). |
| ResetInputAxes | Сброс всех входов. После ResetInputAxes все оси возвращаются в 0 и все кнопки возвращаются в 0 на один кадр. |
| ResetPenEvents | Очистка очереди событий переносного устройства. |