В основном используются 2 модификатора доступа это public и private. В Unity в инспекторе мы видим, что отображается только переменная с модификатором доступа public.
В ООП по принципу инкапсуляции переменные желательно делать приватными.
Для того, чтобы отобразить приватные поля в инспекторе используется конструкция [SerializeField]
Лабораторная работа №2.docx
Лабораторная работа №2
Работа с кодом.
После создания скрипта автоматически создается, такие методы как: void
Start (), void Update () , так же существуют другие методы, например void
Awake и void FixedUpdate () и т.д.
Void Start и void Awake выполняются автоматически один раз, сначала
выполняется void Awake, потом Void Start, не зависимо от того, в какой
последовательности они расположены в коде. Если на GameObject находится скрипт “Script”, нажимая кнопку play в console
мы увидим, что сначала выполнится void Awake, потом Void Start
В основном используются 2 модификатора доступа это public и private. В Unity
в инспекторе мы видим, что отображается только переменная с
модификатором доступа public.
В ООП по принципу инкапсуляции переменные желательно делать
приватными.
Для того, чтобы отобразить приватные поля в инспекторе используется
конструкция [SerializeField] Для того, чтобы получить доступ к приватным полям из другого класса,
необходимы свойства, которые в основном называют так же как и
переменную, только с заглавной буквы (speed – поле ; Speed - свойство).
Например:
Пусть начальная скорость равна 5 Свойство имеет модификатор доступа public, имеет такой же тип, как и тип
переменной (например: float, int, byte, bool и др.).
Свойство имеет get (п. с анг. получить) и set (задать, установить).
В void Start мы выводим в консоль нашу переменную speed, которую задали в
инспекторе и ее значение равное 5 (в данном случае используется get).
После через свойство нашей переменной присваиваем значение 10 и выводим
его в консоль.
Так же можно установить ограничение на свойство, написав private set {}, это
означает, что никто не может изменить данную переменную через свойство. Для того, чтобы получить доступ к другому классу и его полям, методам,
свойствам, есть несколько способов.
Способ 1.
Нам необходимо написать конструкцию:
В нашем примере используется 2 класса, GameManager и Script. Для того,
чтобы получить доступ из класса GameManager к классу Script, мы задаем
ссылку private Script script; на класс Script. После этого мы задаем ссылку в инспекторе.
В иерархии мы выбираем GameObject на котором размещен компонент (скрипт
GameManager)
Зажимаем ЛКМ на GameObject на котором размещен компонент (скрипт
“Script”) и перетаскиваем его в поле. Способ 2.
К классу, к которому мы хотим получит доступ ( к его полям, методам,
свойствам), необходимо написать следующую конструкцию
Примечание:
Обязательно написать в void Awake()
имя_переменной = this;
Из класса GameManager доступ к классу Script ( и его методам, полям,
переменным), осуществляется с помощью конструкции:
Название_Класса.instance.Название_переменной/метода/свойства.
Задание:
Создать два класса. Первый класс для объекта(например,Car) в нём создать 3
переменных и 3 свойства для них. Во втором классе(GameManager) в методе
Start выводить/изменять поля через свойства в консоль.
1. Car и GameManager(например макс.скорость , количество лошадиных
сил, количество колёс)
2. Boat(лодка) и GameManager
3. Plane (самолет) и GameManager
4. Bicycle (велосипед) и GameManager
5. Мotorbike (мотоцикл) и GameManager
6. Bus (автобус) и GameManager
7. Train (поезд) и GameManager
8. Scooter (скутер) и GameManager
9. GyroScooter (гироскутер) и GameManager
10.Skateboard ( скейтборд) и GameManager
Примечание:
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Лабораторная работа №2 Unity
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.