Menu
CoddyTech

Поля инспектора

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 14 из 85.

Поле public скрипта отображается в Inspector под именем скрипта, где любой, кто создаёт сцену, может изменить его, не затрагивая код. Именно поэтому один и тот же скрипт Spinner заставляет вентилятор вращаться быстро, а ветряную мельницу — медленно: код один и тот же, а число у каждого объекта своё.

Число в коде — это только начальное значение, которое использует Unity при первом добавлении скрипта. После этого приоритет имеет значение, сохранённое в сцене. Здесь в коде указано 3, но в Inspector этой ракеты стоит 8, поэтому ракета поднимается со скоростью 8 единиц в секунду:

public float speed = 3f;   // В Inspector для этой ракеты отображается 8

void Update()
{
    transform.position += new Vector3(0, speed * Time.deltaTime, 0);
}

Изменение = 3f в коде не изменит ракету, которая уже находится в сцене. С этим хотя бы раз сталкивается большинство начинающих пользователей Unity: если кажется, что значение игнорируется, проверьте Inspector. Выберите объект в Hierarchy, чтобы увидеть его поля.

challenge icon

Задание

Легко

Заставь лифт подниматься со скоростью, заданной в Inspector.

  1. В Update() замени 2 на поле: lift * Time.deltaTime.
  2. Оставь public float lift = 2f; без изменений: в Inspector для lift задаётся значение 6.

Нажми «Играть»: лифт поднимается на 6 единиц в секунду. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;

public class Elevator : MonoBehaviour
{
    public float lift = 2f;

    void Update()
    {
        transform.position += new Vector3(0, 2 * Time.deltaTime, 0);
    }
}

Все уроки раздела Основы скриптинга в Unity

Потренируйтесь самостоятельно: Песочница Unity