Описание
Интерфейс в систему ввода.
Используйте этот класс для чтения осей, настроенных в обычном игровом вводе, и для доступа к данным мультитач/акселерометра на мобильных устройствах.
Чтобы прочитать ось, используйте Input.GetAxis с одной из следующих осей по умолчанию: "Горизонтальная" и "Вертикальная" сопоставлены с джойстиком, A
, W
, S
, D
и клавиши со стрелками. «Мышь X» и «Мышь Y» сопоставляются с дельтой мыши. «Fire1», «Fire2», «Fire3» отображаются на Ctrl
, Alt
, Cmd
и три кнопки мыши или джойстика. Могут быть добавлены новые входные оси. Для этого см. Диспетчер ввода.
Если вы используете ввод для любого движения, используйте Input.GetAxis. Это дает вам сглаженный и настраиваемый ввод, который можно сопоставить с клавиатурой, джойстиком или мышью. Используйте Input.GetButton только для событий, подобных действиям. Не используйте его для движения. Input.GetAxis сделает код скрипта меньше и проще.
Примечание. Флаги Input не сбрасываются до Update
. Все вызовы Input следует выполнять в цикле Update
.
Посмотрите так же: KeyCode, в котором перечислены все параметры нажатия клавиш, мыши и джойстика.
Мобильные устройства:
Устройства iOS и Android могут отслеживать одновременное касание экрана несколькими пальцами. Вы можете получить доступ к данным о состоянии каждого касания экрана пальцем во время последнего кадра с помощью массива свойств Input.touches.
При перемещении устройства его аппаратный акселерометр сообщает об изменениях линейного ускорения по трем основным осям в трехмерном пространстве. Вы можете использовать эти данные для определения как текущей ориентации устройства (относительно земли), так и любых немедленных изменений этой ориентации.
Ускорение по каждой оси напрямую сообщается аппаратным обеспечением в виде значений перегрузки. Значение 1,0 соответствует нагрузке около +1 г вдоль заданной оси, а значение -1,0 соответствует -1 г. Если вы держите устройство в вертикальном положении (кнопка «Домой» внизу) перед собой, ось 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);
}
}
}
Этот компонент относится к устаревшим методам рисования текстур и изображений пользовательского интерфейса на экране. Вместо этого вы должны использовать систему пользовательского интерфейса. Это также не связано с системой IMGUI.
Статические Свойства
acceleration | Последнее измеренное линейное ускорение устройства в трехмерном пространстве. (Только чтение) |
accelerationEventCount | Количество измерений ускорения, выполненных в течение последнего кадра. |
accelerationEvents | Возвращает список измерений ускорения, произошедших в течение последнего кадра. (Только чтение) (Выделяет временные переменные). |
anyKey | Удерживается ли в данный момент какая-либо клавиша или кнопка мыши? (Только чтение) |
anyKeyDown | Возвращает значение true для первого кадра, в котором пользователь нажимает любую клавишу или кнопку мыши. (Только чтение) |
backButtonLeavesApp | Должна ли кнопка "Назад" закрывать приложение? Можно использовать только на Android, Windows Phone или планшетах с Windows. |
compass | Свойство для доступа к компасу (только для портативных устройств). (Только чтение) |
compensateSensors | Это свойство определяет, должны ли датчики ввода компенсироваться ориентацией экрана. |
compositionCursorPos | Текущая позиция ввода текста, используемая IME для открытия окон. |
compositionString | Текущая строка композиции IME, вводимая пользователем. |
deviceOrientation | Физическая ориентация устройства согласно данным ОС. (Только чтение) |
gyro | Возвращает гироскоп по умолчанию. |
imeCompositionMode | Управляет включением и отключением композиции ввода IME. |
imeIsSelected | Выбран ли для пользователя источник ввода с клавиатуры IME? |
inputString | Возвращает ввод с клавиатуры, введенный в этот кадр. (Только чтение) |
location | Свойство для доступа к местоположению устройства (только для портативных устройств). (Только чтение) |
mousePosition | Текущее положение мыши в пиксельных координатах. (Только чтение). |
mousePresent | Указывает, обнаружено ли устройство мыши. |
mouseScrollDelta | Текущая дельта прокрутки мыши. (Только чтение) |
multiTouchEnabled | Свойство, указывающее, обрабатывает ли система множественные касания. |
simulateMouseWithTouches | Включает/отключает симуляцию мыши с касаниями. По умолчанию эта опция включена. |
stylusTouchSupported | Возвращает значение true, если Stylus Touch поддерживается устройством или платформой. |
touchCount | Количество касаний. Гарантированно не меняется по всему кадру. (Только чтение) |
touches | Возвращает список объектов, представляющих состояние всех касаний во время последнего кадра. (Только чтение) (Выделяет временные переменные). |
touchPressureSupported | Булевое значение, которое позволяет пользователям проверять, поддерживается ли сенсорное давление. |
touchSupported | Возвращает информацию о том, поддерживает ли устройство, на котором запущено приложение, сенсорный ввод. |
Статические Методы
GetAccelerationEvent | Возвращает конкретное измерение ускорения, которое произошло во время последнего кадра. (Не выделяет временные переменные). |
GetAxis | Возвращает значение виртуальной оси, идентифицированной по оси axisName. |
GetAxisRaw | Возвращает значение виртуальной оси, определенной по оси axisName, без применения сглаживающей фильтрации. |
GetButton | Возвращает значение true, пока нажата виртуальная кнопка, идентифицированная как buttonName. |
GetButtonDown | Возвращает значение true во время кадра, когда пользователь нажимал виртуальную кнопку, указанную в buttonName. |
GetButtonUp | Возвращает значение true для первого кадра, когда пользователь отпускает виртуальную кнопку, указанную в buttonName. |
GetJoystickNames | Получает список имен устройств ввода, соответствующих индексу оси, настроенной в диспетчере ввода. |
GetKey | Возвращает значение true, пока пользователь удерживает нажатой клавишу, указанную по имени. |
GetKeyDown | Возвращает true во время кадра, когда пользователь начинает нажимать клавишу, указанную по имени. |
GetKeyUp | Возвращает значение true во время кадра, когда пользователь отпускает клавишу, идентифицированную по имени. |
GetMouseButton | Возвращает информацию о том, нажата ли данная кнопка мыши. |
GetMouseButtonDown | Возвращает значение true во время кадра, в течение которого пользователь нажимал данную кнопку мыши. |
GetMouseButtonUp | Возвращает значение true, пока пользователь отпускает данную кнопку мыши. |
GetTouch | Вызовите Input.GetTouch, чтобы получить структуру Touch. |
IsJoystickPreconfigured | Определить, была ли конкретная модель джойстика предварительно настроена в Unity. (только для Linux). |
ResetInputAxes | Сбрасывает все входные данные. После ResetInputAxes все оси возвращаются к 0, и все кнопки возвращаются к 0 на один кадр. |