Примечание от автора перевода: Обратите внимание, что во втором случае мы передаем значение, вызывая статическую функцию, поэтому пишем имя класса (GameObject с большой буквы), в то время как в первом мы передаем объект этого класса (gameObject с маленькой буквы). В противном случае компилятор выдаст ошибку:
Destroy(GameObject.Find( Box ));
// ищем объект с именем Box и если таковой есть уничтожаем его
Давайте теперь попробуем уничтожить другой объект. Для этого нам понадобится статический метод класса GameObject. Заменим код в методе Start() следующим:
Нажмите на Play и вы увидите, что сразу после загрузки сцены сфера исчезает.
Снова выберите сферу и убедитесь, что среди компонентов присутствует ваш скрипт.
Так же можно выбрать сферу и добавить скрипт через меню компонентов (Component->Scripts->Destroyer) или просто перетащив скрипт в Inspector View выбранного объекта.
Или на имя объекта в Hierarchy.
Добавим скрипт к сфере. Сделать это можно несколькими путями. Перетащив скрипт из Project View на сферу в Scene View.
// уничтожить объект к которому прикреплен данный скрипт
// метод Start() выполняется единожды, сразу после окончания загрузки сцены
Добавьте C#-Скрипт (Project View->Create->C# Script) и назовите его Destroyer. Как уже говорилось, при создании C#-скрипта Unity создает некий каркас, состоящий из подключенных библиотек и основного класса (используемого скриптом) с методами Start() и Update(). В использовался метод Update(), который вызывается каждый кадр. В данном случае мы воспользуемся методом Start(), который выполняется сразу после загрузки сцены. Добавим в тело метода Start() функцию Destroy() и передадим в нее gameObject, указав таким образом, что скрипт должен уничтожить объект, компонентом которого он является:
Создайте пустую сцену и добавьте в нее сферу (GameObject->Create Other->Sphere) и куб (GameObject->Create Other->Cube). Куб назовем Box . Расположите объекты как показано на рисунке ниже.
В уроке рассказывается как удалять объекты со сцены, использую команду Destroy (уничтожить).
Базовый Урок 04 Уничтожение объектов
PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.
Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I Intermediate).
Предыдущие уроки вы можете найти в
Unity3d. Уроки от Unity 3D Student (B04-B08)
Unity3d. Уроки от Unity 3D Student (B04-B08) / Хабрахабр
Комментариев нет:
Отправить комментарий