Именованные кнопки
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 14 из 67.
Помимо клавиш, в Unity есть кнопки: имена, перечисленные в Input Manager (Edit, Project Settings, Input Manager), каждое из которых связано с одной или несколькими клавишами. Input.GetButtonDown("Fire1") проверяет имя, а не клавишу. В новом проекте есть такие:
"Jump": пробел"Fire1": левый Ctrl или левая кнопка мыши"Fire2": левый Alt или правая кнопка мыши"Submit"и"Cancel": Enter и Escape
Кнопки геймпада связаны с теми же именами, а клавиши можно изменить в Input Manager, не затрагивая код. GetButton, GetButtonDown и GetButtonUp работают так же, как GetKey, GetKeyDown и GetKeyUp. Этот бластер записывает выстрел при каждом нажатии Ctrl или щелчке мышью:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}Имя представляет собой строку, поэтому опечатка в имени не помешает компиляции. Unity ищет его при выполнении строки, и если кнопки с таким именем нет, на каждом кадре выдаётся ошибка: ArgumentException: Input Button Fier1 is not setup. Увидев это сообщение, сравните имя в коде со списком в Input Manager.
Задание
ЛегкоЛягушка подпрыгивает, пока удерживается кнопка Jump: при нажатии Jump она один раз поднимается на hop единиц, а при отпускании Jump опускается обратно на ту же высоту. В стартовом коде подъём уже реализован, но при запуске игры возникает ошибка.
Нажми Play и прочитай сообщение об ошибке в Console. Исправь ошибку, добавь приземление при отпускании кнопки, затем нажми Check.
Попробуйте сами
using UnityEngine;
public class Hopper : MonoBehaviour
{
public float hop = 1.5f;
void Update()
{
if (Input.GetButtonDown("Jumpp"))
{
transform.position += new Vector3(0, hop, 0);
}
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы скриптинга в Unity
1Ваш первый скрипт
Привет, UnityРазместите кубДвигайте каждый кадрПоворачивайте каждую секундуУправляйте клавишамиПовторение: управляйте кубом2Инспектор
Поля инспектораSerializeFieldЧисла с плавающей точкой и MathfАтрибуты инспектораПовторение: лифт5Преобразования и иерархия
Родители и детиМасштабПосмотри на объектыДвигайся к точкеПовторение: Луна на орбите6Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказать и скрытьПовторение: выключатель света