Управляйте клавишами
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 5 из 67.
Input.GetKey(KeyCode.Space) возвращает true в каждом кадре, пока клавиша Space удерживается, и false в противном случае. Проверяй это в Update() и перемещай объект только тогда, когда проверка возвращает положительный результат, — так игрок управляет объектом.
Этот ящик поднимается со скоростью lift единиц в секунду, пока клавиша Space удерживается. Time.deltaTime обеспечивает скорость в единицах в секунду, как и в предыдущем уроке:
public float lift = 2f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
transform.position += new Vector3(0, lift * Time.deltaTime, 0);
}
}У каждой клавиши есть свой KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return и так далее. Сначала щёлкни по окну игры, чтобы оно получало нажатия клавиш. Примечание для Unity 6: в новых проектах используется новая система ввода, и Input.GetKey выдаёт ошибку, пока для параметра Active Input Handling (Project Settings, Player) не задано значение Both.
Задание
ЛегкоДай игроку управлять кубом: пока удерживается клавиша со стрелкой вправо, куб движется вправо (вдоль +x) со скоростью speed единиц в секунду, а пока удерживается клавиша со стрелкой влево — движется влево с той же скоростью. Если ни одна клавиша не удерживается, куб остаётся на месте.
Нажми Play, щёлкни по игровому окну и попробуй нажать клавиши со стрелками, затем нажми Check.
Попробуйте сами
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Стрелка вправо: движение вправо. Стрелка влево: движение влево.
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы скриптинга в Unity
1Ваш первый скрипт
Привет, UnityРазместите кубДвигайте каждый кадрПоворачивайте каждую секундуУправляйте клавишамиПовторение: управляйте кубом2Инспектор
Поля инспектораSerializeFieldЧисла с плавающей точкой и MathfАтрибуты инспектораПовторение: лифт5Преобразования и иерархия
Родители и детиМасштабПосмотри на объектыДвигайся к точкеПовторение: Луна на орбите6Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказать и скрытьПовторение: выключатель света