Menu
CoddyTech

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

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

Поле 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 у лифта для lift задано значение 6, но скрипт игнорирует это поле и всегда поднимает лифт на 2 единицы в секунду. Измени Update(), чтобы лифт поднимался со скоростью lift единиц в секунду независимо от значения в Inspector.

Выбери Elevator в Hierarchy, чтобы увидеть его lift, затем нажми Play и Check.

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

using UnityEngine;

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

    void Update()
    {
        transform.position += new Vector3(0, 2 * Time.deltaTime, 0);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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