Взаимодействие скриптов между собой

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Взаимодействие скриптов между собой

Сообщение mrfiks 24 сен 2016, 20:54

Друзья, возник такой вопрос. Можно ли в стандартном скрипте FirstPersonController поменять значение RunSpeed из другого скрипта? Уже кучу туториалов пересмотрел по передачи переменной из скрипта в скрипт. Но со стандартным FirstPersonController ничего не получается сделать. Т.к. не получается обратится к нему так же как к свежеотнаследованному MB скрипту. Неужели придется прописывать весь скрипт? Или все-таки есть какой-то иной способ обратиться к переменным? Прошу не закидывать камнями сразу, достаточно недавно начал работать с Unity.
mrfiks
UNец
 
Сообщения: 3
Зарегистрирован: 24 сен 2016, 20:41

Re: Взаимодействие скриптов между собой

Сообщение Rpabuj1 24 сен 2016, 21:18

mrfiks писал(а):Друзья, возник такой вопрос. Можно ли в стандартном скрипте FirstPersonController поменять значение RunSpeed из другого скрипта? Уже кучу туториалов пересмотрел по передачи переменной из скрипта в скрипт. Но со стандартным FirstPersonController ничего не получается сделать. Т.к. не получается обратится к нему так же как к свежеотнаследованному MB скрипту. Неужели придется прописывать весь скрипт? Или все-таки есть какой-то иной способ обратиться к переменным? Прошу не закидывать камнями сразу, достаточно недавно начал работать с Unity.

getComponent
Rpabuj1
Старожил
 
Сообщения: 639
Зарегистрирован: 04 авг 2015, 12:07

Re: Взаимодействие скриптов между собой

Сообщение mrfiks 25 сен 2016, 06:48

Rpabuj1 писал(а):
mrfiks писал(а):Друзья, возник такой вопрос. Можно ли в стандартном скрипте FirstPersonController поменять значение RunSpeed из другого скрипта? Уже кучу туториалов пересмотрел по передачи переменной из скрипта в скрипт. Но со стандартным FirstPersonController ничего не получается сделать. Т.к. не получается обратится к нему так же как к свежеотнаследованному MB скрипту. Неужели придется прописывать весь скрипт? Или все-таки есть какой-то иной способ обратиться к переменным? Прошу не закидывать камнями сразу, достаточно недавно начал работать с Unity.

getComponent

Можно корректный пример?
Синтаксис:
Используется csharp
BotController bt = gameObject.GetComponent<BotController>();
 bt.Speed = 5;

 PlayerControl pl = gameObject.GetComponent<PlayerControl>();
 pl.runHP = 100;


Синтаксис:
Используется csharp
 FirstPersonController fpc = gameObject.GetComponent<FirstPersonController>();

Вот у меня есть два скрипта сделанных мною. К переменным которых я могу обратится из любого места. И есть скрипт который я повесил из стандартных ассетов. Мне нужно поменять в нем переменную Run Speed, когда RunHP = 0, а то получается анимация выключается а скорость перемещения не изменяется. Как это сделать?
Ошибка которую выдает студия:
Error CS0246 The type or namespace name 'FirstPersonController' could not be found (are you missing a using directive or an assembly reference?)
mrfiks
UNец
 
Сообщения: 3
Зарегистрирован: 24 сен 2016, 20:41

Re: Взаимодействие скриптов между собой

Сообщение samana 25 сен 2016, 10:40

mrfiks писал(а):Ошибка которую выдает студия:
Error CS0246 The type or namespace namecould not be found (are you missing a using directive or an assembly reference?)

Эта ошибка говорит, что мол не знаю где такой класс 'FirstPersonController', дружище, помоги найти, подскажи путь к нему!
В общем вам нужно добавить
Синтаксис:
Используется csharp
using UnityStandardAssets.Characters.FirstPerson;
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Взаимодействие скриптов между собой

Сообщение mrfiks 25 сен 2016, 12:58

samana писал(а):
mrfiks писал(а):Ошибка которую выдает студия:
Error CS0246 The type or namespace namecould not be found (are you missing a using directive or an assembly reference?)

Эта ошибка говорит, что мол не знаю где такой класс 'FirstPersonController', дружище, помоги найти, подскажи путь к нему!
В общем вам нужно добавить
Синтаксис:
Используется csharp
using UnityStandardAssets.Characters.FirstPerson;

Спасибо огромное. Так и думал, что решение простое. [V]
mrfiks
UNец
 
Сообщения: 3
Зарегистрирован: 24 сен 2016, 20:41


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 39