Связь объектов

Программирование на Юнити.

Связь объектов

Сообщение EvgeniyT 27 дек 2010, 06:50

В сцене есть Terrain и Player. В Hierarchy они никак не связаны. Каким образов, работая в скрипте для Player, получить доступ к Terrain?
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Связь объектов

Сообщение Zaicheg 27 дек 2010, 08:36

EvgeniyT писал(а):В сцене есть Terrain и Player. В Hierarchy они никак не связаны. Каким образов, работая в скрипте для Player, получить доступ к Terrain?

В классе GameObject есть методы для получения геймобъектов. Всякие Raycast, OnCollisionEnter и многое другое тоже вернут вам геймобъект.
Для доступа к компонентам (в т. ч. скриптам): GetComponent
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Связь объектов

Сообщение EvgeniyT 27 дек 2010, 08:58

Просто при написании строки "Terrain t = this.gameObject.GetComponent<Terrain>();" происходит исключение, которое говорит, что нет никакого объекта типа Terrain.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Связь объектов

Сообщение gnoblin 27 дек 2010, 10:30

потому что игрок это не террейн (popcorn1)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Связь объектов

Сообщение EvgeniyT 27 дек 2010, 13:09

gnoblin писал(а):потому что игрок это не террейн (popcorn1)


Это я понимаю. Поэтому и спрашиваю: как получить доступ к террейну из скрипта игрока? Можно получить этот террейн через RaycastHit, но это только если тыркать на нём. А хочется просто иметь доступ и всё. Через GetComponent( ) не получается. А как тогда?
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Связь объектов

Сообщение Zaicheg 27 дек 2010, 13:17

EvgeniyT писал(а):
gnoblin писал(а):потому что игрок это не террейн (popcorn1)

Это я понимаю. Поэтому и спрашиваю: как получить доступ к террейну из скрипта игрока? Можно получить этот террейн через RaycastHit, но это только если тыркать на нём. А хочется просто иметь доступ и всё. Через GetComponent( ) не получается. А как тогда?

В классе GameObject есть методы для получения геймобъектов.

Например, Find.
Ещё есть публичные переменные и их назначение через инспектор.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Связь объектов

Сообщение EvgeniyT 27 дек 2010, 18:37

Спасибо, парни! Разобрался! :ymparty:
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


cron