Страница 1 из 2

общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 07:28
3dmax
как получить доступ скрипту(комоненту) 1-го объекта к переменным скрипта(комонента) 2-го объекта ?

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 09:31
Ging
Код: Выделить всё
var cmptScript = GameObject.Find("Object2").GetComponent("Script2");
cmptScript.studyMethod = "Find info in forum";


если я правильно вопрос расшифровал =)

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 12:15
Paul Siberdt
Ging, не очень верно... правильнее так:
Код: Выделить всё
var cmptScript = GameObject.Find("Object2").GetComponent("Script2");
cmptScript.studyMethod = "Read the fucking Scripting Reference";

:ymparty:

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 14:47
Golandez
Один другого краше :-w

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 16:20
Левш@
как получить доступ скрипту(комоненту) 1-го объекта к переменным скрипта(комонента) 2-го объекта ?

/:) А по русски?

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 17:41
3dmax
а что не понятно, есть 2 объекта, на каждом по скрипту, нужно как то получить доступ к переменным из одного скрипта к другому, не важно к какому.
А тем господам которые послали на Референсы по скриптам спасибо, вот так и спрашуй в следующий раз X(

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 17:49
DbIMok
то есть ты попробовал сделать так, как они написали, и это не сработало?

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 17:53
Paul Siberdt
Боюсь, DbIMok, господин вопрошающий даже не осознал, что ему в первом же посте дали полный ответ :D

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 19:04
3dmax
да я так и подумал, а еще на другом сайте мне сказали почему то по дрогому: " к примеру скрипт называется "Superscript.js"
static var peremennaya: int = 10
чтобы обратиться из другого скрипта к переменной peremennaya нужно указать имя скрипта:
Superscript.peremennaya = 99 "

И это работало.
вот Я и подумал что тут меня послали.

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 19:27
DbIMok
статическая переменная одна на класс (для всех объектов). то есть это некий специальный случай. в большинстве ситуаций нужно менять переменную только для скрипта какого-то одного объекта.

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 19:41
3dmax
ок тогда, попробовал еще как написали выше
выдает ошибку
... .studyMethod' not found.

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 19:42
Zaicheg
Это потому что такого метода нет. Обращайтесь к чему-то реальному.

Re: общий вопрос по переменным.

СообщениеДобавлено: 09 авг 2010, 19:51
3dmax
аа понял, заработало !
всем Спасибо .

Re: общий вопрос по переменным.

СообщениеДобавлено: 31 янв 2011, 07:39
Эдуард
var cmptScript = GameObject.Find("Object2").GetComponent("Script2");
cmptScript.studyMethod = "Find info in forum";

подскажите как это будет выглядеть на C#, каким типом нужно объявить переменную cmptScript ?

если сделать так:
GameObject go;
go = GameObject.Find("GUI").GetComponent("Script2");
получается ошибка Cannot implicitly convert type `UnityEngine.Component' to `UnityEngine.GameObject'
если так:
Component go;
string Speed;
go = GameObject.Find("GUI").GetComponent("Script2");
Speed = go.Speed;
получаем ошибку Type `UnityEngine.Component' does not contain a definition for `Speed' and no extension method `Speed' of type `UnityEngine.Component' could be found (are you missing a using directive or an assembly reference?)

Re: общий вопрос по переменным.

СообщениеДобавлено: 31 янв 2011, 07:54
Paul Siberdt
А зачем вы изучаете C#, богатый справками и учебниками, если не можете найти ответ по синтаксису?

- открываем Scripting Reference
- вбиваем GetComponent
- на странице-справке по этой функции выбираем листинг C#
- смотрим, какие символы в каком порядке печатать. X(

Использование C# вместо JS никого не делает ни умнее, ни способнее. Это как пользоваться рейсфедером или рапидографом - и там и там сначала карандаши надо научиться точить, транспортиром пользоваться и ладонями работу не размазывать.