Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Omlette | Дата: Четверг, 18 Июля 2013, 15:38 | Сообщение # 4301 |
частый гость
Сейчас нет на сайте
| NEBR, черт, не выходит почему-то. Мб напишешь, буду очень признателен.
Добавлено (18.07.2013, 15:38) --------------------------------------------- Я провел эксперимент, если создам статическую переменную в одном скрипте и получу ее в другом, то когда эту переменную изменю в главном скрипте, ее значение не меняется во втором скрипте. Как-то так:
1-й скрипт scriptwithvar Код static public int test = 39;
2-й скрипт:
Код static int _test = scriptwithvar.test; //Теперь значение _test = 39.
Меняю в scriptwithvar значение на 40, однако во втором скрипте остается 39... Как так?
Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 15:38 |
|
| |
allods | Дата: Четверг, 18 Июля 2013, 17:30 | Сообщение # 4302 |
почти ветеран
Сейчас нет на сайте
| а ты обратно отсылаешь то данные о переменной ?
|
|
| |
Kira | Дата: Четверг, 18 Июля 2013, 17:32 | Сообщение # 4303 |
заслуженный участник
Сейчас нет на сайте
| Omlette, ты создаешь 2ю переменную, но не ссылку на первую.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
|
|
| |
Omlette | Дата: Четверг, 18 Июля 2013, 20:22 | Сообщение # 4304 |
частый гость
Сейчас нет на сайте
| Kira, тогда как сделать ссылку на первую..? Что-то не врубаюсь
Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 20:23 |
|
| |
E][pert | Дата: Четверг, 18 Июля 2013, 20:47 | Сообщение # 4305 |
C#-XNA-Unity
Сейчас нет на сайте
| Omlette, зачем тебе статистическая переменная? лол
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Adom | Дата: Четверг, 18 Июля 2013, 20:52 | Сообщение # 4306 |
Печенька!
Сейчас нет на сайте
| Блиинн помогите как вызывать объект на сцену при входе в триггер ?
|
|
| |
E][pert | Дата: Четверг, 18 Июля 2013, 20:54 | Сообщение # 4307 |
C#-XNA-Unity
Сейчас нет на сайте
| Adom, что означает вызывать? Создавать новый?
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Omlette | Дата: Четверг, 18 Июля 2013, 21:23 | Сообщение # 4308 |
частый гость
Сейчас нет на сайте
| E][pert, как зачем? Чтоб получать ее значение извне.
Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
|
|
| |
Adom | Дата: Четверг, 18 Июля 2013, 22:22 | Сообщение # 4309 |
Печенька!
Сейчас нет на сайте
| E][pert,Да просто не правильно выразился =)
|
|
| |
Alastar | Дата: Четверг, 18 Июля 2013, 22:38 | Сообщение # 4310 |
постоянный участник
Сейчас нет на сайте
| Omlette, вообще-то это организовывает public, а не static(Если честно, я и сам пока не пойму зачем нужен static).
Big Boobs (+18 only!)
|
|
| |
lentinant | Дата: Пятница, 19 Июля 2013, 00:10 | Сообщение # 4311 |
ленивый программист
Сейчас нет на сайте
| Alastar, особенность public - эти переменные можно менять с редактора. В референсе объявление глобальных переменных приписывают именно к static (использовать отдельный от public модификатор целесообразно, если вам не нужно менять переменную со скрипта, и вы не хотите, чтобы при настройке скрипта в редакторе были лишние компоненты). Правда, он почему-то не пашет без public, во всяком случае, на шарпе. Для вышеуказанной цели (сделать доступ к переменной другого класса, не делая ее public) я могу посоветовать использовать public функции, которые попросту возвращают нужное значение.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
E][pert | Дата: Пятница, 19 Июля 2013, 00:21 | Сообщение # 4312 |
C#-XNA-Unity
Сейчас нет на сайте
| Omlette, к сожалению я сам внятно себе в голове не могу сформулировать зачем нужен static но он явно не для тех целей для которых ты хочешь его использовать. Например в классе так обозначается то свойство которое будет одинаковым для всех объектов класса. Adom, Код GameObject go=new GameObject(); //new object go.transform.position=new Vector(0,0,0); //position for new game object Добавлено (19.07.2013, 00:21) --------------------------------------------- lentinant, вы не правы Цитата (lentinant) особенность public - эти переменные можно менять с редактора Unity3d это инструмент который использует язык C# и нельзя проводить параллель таких зависимостей.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Kira | Дата: Пятница, 19 Июля 2013, 09:15 | Сообщение # 4313 |
заслуженный участник
Сейчас нет на сайте
| static статичная т.е независимая постоянна переменная. Она не исчезает при удалении объекта, и ее данные не теряються. Можно использовать счетчиком, например: class T { static int count;
public T() { count+=1; } } У всех классов T переменная count будет одинаковой. public - Это модификатор доступа, т.е к ней можно обратиться из любого скрипта. а private - уже закрытый, и может использоваться только внутри класса.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
|
|
| |
Omlette | Дата: Пятница, 19 Июля 2013, 10:48 | Сообщение # 4314 |
частый гость
Сейчас нет на сайте
| Я прочитал 400 страниц Шилдта (учебник с#) и никак не могу применять полученные знания в юньке. Не понимаю когда нужно ограничивать доступ к методам, переменным, свойствам (сделать их readonly), когда юзать интерфейсы, наследование, индексаторы и т.п. А и еще не понимаю когда нужно создавать объекты класса.... В написании игровых скриптов, мне кажется все совсем по-другому и я запутываюсь. А за ответы спасибо, буду пробовать.
П.С. На сколько я помню, как было в книге написано
Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 10:51 |
|
| |
E][pert | Дата: Пятница, 19 Июля 2013, 11:53 | Сообщение # 4315 |
C#-XNA-Unity
Сейчас нет на сайте
| Omlette, да в написании скриптов есть свои нюансы. Просто больше практикуйся, пиши код. Со временем вещи начнут прояснятся.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Omlette | Дата: Пятница, 19 Июля 2013, 14:29 | Сообщение # 4316 |
частый гость
Сейчас нет на сайте
| [Удалено]
Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 14:32 |
|
| |
|
Adom | Дата: Пятница, 19 Июля 2013, 20:22 | Сообщение # 4318 |
Печенька!
Сейчас нет на сайте
| Помогите не могу разобраться в управление в мультиплеере. Мне нужно было чтобы сервер не управлял клиентом.Я слышал что это делается через isMine но у меня ничего не получается вот скрипт управления. var Player : GameObject; var isMine : boolean; // Use this for initialization // Update is called once per frame function Update () { if(Input.GetKey(KeyCode.W)) if(isMine){ Player.rigidbody.AddForce(0,0,1 * 1); } // if(Input.GetKey(KeyCode.S)) if(isMine){ Player.rigidbody.AddForce(0,0,-1 * 1); } }
|
|
| |
White9 | Дата: Пятница, 19 Июля 2013, 20:42 | Сообщение # 4319 |
заслуженный участник
Сейчас нет на сайте
| Fr0sT, а ты moveDirection задаёшь в таком виде "vector3 (0,0,0)"? ) Adom, лучше делай проверку при старте. Например, вот так Код public void Awake() { if (!networkView.isMine) { enabled = false; } } Цитата (Adom) var isMine : boolean; Есть метод (или как он там называется) "networkView.isMine" и булеву переменную isMine для него объявлять не нужно )
|
|
| |
Adom | Дата: Пятница, 19 Июля 2013, 21:03 | Сообщение # 4320 |
Печенька!
Сейчас нет на сайте
| White9,Сделать то сделал но только главный игрок (сервер) стоит на месте, и я могу управлять только клиентом.
|
|
| |