Input.GetAxis
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
Ошибка внесения изменений
По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста попробуйте снова через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
Ваше имя Адрес вашей электронной почты Предложение * Разместить предложенное
public static function GetAxis ( axisName : string): float;
public static float GetAxis (string axisName );
Параметры
Описание
Возвращает значение по axisName виртуальной оси.
Для ввода с клавиатуры или джойстика значение будет лежать в диапазоне -1. 1. If the axis is setup to be delta mouse movement, the mouse delta is multiplied by the axis sensitivity and the range is not -1. 1.
Это не зависит от частоты кадров. При использовании данного значения нет необходимости беспокоиться об изменении частоты кадров.
// A very simplistic car driving on the x-z plane.
var speed : float = 10.0; var rotationSpeed : float = 100.0;
function Update () < // Get the horizontal and vertical axis. // By default they are mapped to the arrow keys. // The value is in the range -1 to 1 var translation : float = Input.GetAxis ("Vertical") * speed; var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed; // Make it move 10 meters per second instead of 10 meters per frame. translation *= Time.deltaTime; rotation *= Time.deltaTime; // Move translation along the object's z-axis transform.Translate (0, 0, translation); // Rotate around our y-axis transform.Rotate (0, rotation, 0); >
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour < public float speed = 10.0F; public float rotationSpeed = 100.0F; void Update() < float translation = Input.GetAxis("Vertical") * speed; float rotation = Input.GetAxis("Horizontal") * rotationSpeed; translation *= Time.deltaTime; rotation *= Time.deltaTime; transform.Translate(0, 0, translation); transform.Rotate(0, rotation, 0); > >
// Performs a mouse look.
var horizontalSpeed : float = 2.0; var verticalSpeed : float = 2.0; function Update () < // Get the mouse delta. This is not in the range -1. 1 var h : float = horizontalSpeed * Input.GetAxis ("Mouse X"); var v : float = verticalSpeed * Input.GetAxis ("Mouse Y"); transform.Rotate (v, h, 0); >
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour < public float horizontalSpeed = 2.0F; public float verticalSpeed = 2.0F; void Update() < float h = horizontalSpeed * Input.GetAxis("Mouse X"); float v = verticalSpeed * Input.GetAxis("Mouse Y"); transform.Rotate(v, h, 0); > >
Традиционный игровой ввод
Unity поддерживает ввод с клавиатуры, джойстика и гейпада.
Virtual axes and buttons can be created on the Input window, and end users can configure Keyboard input in a nice screen configuration dialog.

Вы можете настроить джойстики, геймпады, клавиатуру и мышь, затем обращаться к ним через один простой скриптовый интерфейс.
Virtual Axes
Из скриптов все виртуальные оси доступны по их именам.
Каждый проект при создании содержит следующие оси ввода по умолчанию:
- Horizontal и Vertical привязаны к w, a, s, d и клавишам направления.
- Fire1, Fire2, Fire3 привязаны к клавишам Control, Option (Alt) и Command соответственно.
- Mouse X и Mouse Y привязаны к перемещениям мыши.
- Window Shake X и Window Shake Y привязаны к перемещению окна.
Добавление новых осей ввода
If you want to add new virtual axes go to the Edit > Project Settings menu, then select the Input category. Here you can also change the settings of each axis.

Вы привязываете каждую ось к двум кнопкам на джойстике, мыши или клавиатуре.
| Свойство: | Функция: |
|---|---|
| Name | Имя, используемое для проверки этой оси из скрипта. |
| Descriptive Name | Имя положительного значения, отображаемое на вкладке Input диалогового окна Configuration в автономных сборках. |
| Descriptive Negative Name | Имя отрицательного значения, отображаемое на вкладке Input диалогового окна Configuration в автономных сборках. |
| Negative Button | Кнопка, используемая для смещения значения оси в отрицательном направлении. |
| Positive Button | Кнопка, используемая для смещения значения оси в положительном направлении. |
| Alt Negative Button | Альтернативная кнопка, используемая для смещения значения оси в отрицательном направлении. |
| Alt Positive Button | Альтернативная кнопка, используемая для смещения значения оси в положительном направлении. |
| Gravity | Скорость в единицах в секунду, с которой ось возвращается в нейтральное положения, когда кнопки не нажаты. |
| Dead | Размер аналоговой мертвой зоны. Все значения аналоговых устройств, попадающие в этот диапазон, считаются нейтральными. |
| Sensitivity | Speed in units per second that the axis will move toward the target value. This is for digital devices only. |
| Snap | Если включено, значение оси будет сбрасываться в ноль при нажатии кнопки в противоположном направлении. |
| Invert | Если включено, Negative Buttons будут выдавать положительные значения, и наоборот. |
| Type | Тип ввода, который будет управлять осью. |
| Axis | Ось подключенного устройства, которая будет управлять этой осью. |
| Joy Num | Подключенный джойстик, который будет управлять этой осью. |
Используйте эти параметры для точной настройки внешнего вида ввода. Также, все они задокументированы во всплывающих подсказках в редакторе.
Использование осей ввода из скриптов
Вы можете запросить текущее состояние из скрипта так:
value = Input.GetAxis ("Horizontal");
An axis has a value between –1 and 1. The neutral position is 0. This is the case for joystick input and keyboard input.
Однако изменения осей Mouse и Window Shake показывают, насколько мышь или окно сдвинулись по сравнению с последним кадром. Это значит, что они могут быть больше, чем 1 или меньше, чем –1, когда пользователь быстро двигает мышь.
Можно создавать несколько осей с одним именем. При получении ввода, будет возвращаться ось с наибольшим абсолютным значением. Это позволяет назначить больше одного устройства ввода на одно имя оси. Например, создайте одну ось для ввода с клавиатура и одну ось для ввода с джойстика с одинаковым именем. Если пользователь использует джойстик, ввод будет идти с джойстика, иначе ввод будет идти с клавиатуры. Таким образом, вам не нужно учитывать откуда приходит ввод при написании скриптов.
Названия кнопок
Чтобы назначить кнопку оси, вам необходимо ввести имя кнопки в свойстве Positive Button или Negative Button в окне Inspector.
Keys (Клавиши)
Названия кнопок следуют этому соглашению:
- Обычные клавиши“: ”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");
Note also that the keys are accessible using the KeyCode enum parameter.
События Unity | C#
Как поймать событие Input.GetAxis в Unity? И, если можно, добавьте ссылку на документацию со всеми имеющимися событиями unity.
Отслеживать
задан 6 июл 2020 в 22:03
Sire IMPACTUS Sire IMPACTUS
97 1 1 серебряный знак 14 14 бронзовых знаков
Мне кажется, Input.GetAxis это не событие, а метод.
6 июл 2020 в 22:13
Это я знаю, но мне нужно событие именно этого метода.
6 июл 2020 в 22:23
Лучше просто скажите своими словами, что вы хотите сделать, потому что у методов не бывает событий. Событие это особый вид делегата, а делегат — особый вид метода. GetAxis() — обычный метод, и к делегатам никакого отношения не имеет.
6 июл 2020 в 22:38
Вангую! Хочет совместить работу Input.GetAxis() с другим UI аналогом для мобильника, что бы поддержывался и геймпад и тачскрин. И не смотря на то что мобильники стали основная платформа юнити, Input не обслуживает UI интерфейсы, только Touchs . Вот он и хочет понять, когда ловить инпуты с GetAxis , а когда с UI .
6 июл 2020 в 23:49
Нет, не то и не другое. Я хочу ловить нажатие AWSD и запускать соответствуещий метод. Это можно легко сделать в update или fixedUpdate, но я слышал, что есть способ с событиямия, поэтому хотелось его попробовать.
7 июл 2020 в 9:38
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Input.GetAxis возвращает число (текущая скорость на определенной оси), а чтобы это было событием нужно уже это реализовывать вручную. Но вообще все, что касается частого обновления, не очень то хорошо реализовывать через events, а input в особенности (проверено на собственном опыте).
Для кнопки задержка в .1s может и норм, но вот когда пытаешься удрать от врагов и управление работает с небольшой задержкой — это уже неприемлемо. Так что лучше тут воздержаться от использования событий.
Как работает input.getaxis и input.getbuttondown
Как работает input.getaxis и input.getbuttondown
Типа надо кнопке тег дать?
Типо перс при нажатии кнопки идёт влево, то беж надо
If (Input.getaxis(«left»))?
Или надо использовать Input.getbuttondown?
А кнопе «left» надо дать тег?
В unity новичек
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

В чем отличие Input.GetAxis(«Mouse X») и Input.GetAxis(«Horizontal»)?
Собственно, это весь вопрос.
Input.GetAxis(«Horizontal») Touch
Можно ли как-то значение с Input.GetAxis("Horizontal") получить при нажатии на сенсор? Просто.

Не работает онлайн справка или где находится описание класса Input
Во время написания скрипта в MonoDevelop при нажатии ctrl + ‘ должна открываться онлайн справка по.
295 / 217 / 85
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
Регистрация: 08.07.2019
Сообщений: 31
Нихуя не понятно да?
295 / 217 / 85
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
Сообщение от Zalim_ 
понятно да
40 / 23 / 19
Регистрация: 19.10.2019
Сообщений: 209
Существует Input.GetAxis(«Vertical») и Input.GetAxis(«Horizontal»), они возвращают значение типа float, которое зависит от нажатия на стрелки вверх(1) или в низ(-1)(в первом случе) или в лево(-1) и в право(1)(во втором), т.е. можно сделать
1 2 3 4
private void Update(){ float directionX = Input.GetAxis("Horizontal"); float directionY = Input.GetAxis("Vertical"); }
GetKeyDown проверяет не нажата ли кнопка, возвращает True или False можно сделать
1 2 3 4 5
private void Update(){ if(Input.GetKeyDown(KeyCode.A)){ //Действие } }
Регистрация: 08.07.2019
Сообщений: 31
Игра на Android, кнопки виртуальные
295 / 217 / 85
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
Сообщение от Zalim_ 
Игра на Android, кнопки виртуальные
всеравно нужно больше вводной и конкретной информации
Регистрация: 08.07.2019
Сообщений: 31
Игра на Android, кнопки виртуальные, сделал проверку что если нажата кнопка со стрелокой влево, то он идёт влево, но он не идёт
К кому нету доступа сделал примерно так
If (Input.getbuttondown(«left»))
Дальше все правильно написано я уверен, но ничего все ровно не получается, я что то не так делаю? Или кнопке надо тэг дать?
Регистрация: 07.02.2020
Сообщений: 93
Сверху тебе уже дали ответ на твой вопрос, просто нужно подумать головой совсем чуть чуть и понять как это работает.
29 / 19 / 10
Регистрация: 24.02.2015
Сообщений: 124
Кнопки или джойстик? Если кнопки — то ответ уже дан. Если джостик, до у него тоже оси
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как вставить в input с маской от jQuery Masked Input
Здравствуйте. Создал такую маску для ввода карты $(‘#card’).mask("9999 9999 9999 9999");.
Как реализовать на месте input button просто input?
Приветствую всех. Есть кнопка. Помогите реализовать логику. По нажатию на кнопку , появляется.
Как поместить svg картинку в input которая будет менять цвет когда input получает фокус?
Хочу сверстать форму отправки сообщения (изображение прикрепил). Но не получается сделать так.
Как передать данные из input в другой input
как передать дание из input в другой input <form method="post" action="test3.php" target="_blank">.