Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 02.12.2012, 00:16   #811
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

ИМХО такое с помощью OnGUI лучше вообще не делать... Если это чисто кнопки...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 00:44   #812
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

А чем делать? Вручную плашками делать лень. Еще больше проблем получишь.
OnGUI у меня, кстати, один на все элементы. Иерархически посылается сообщение Draw всем элементам.
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 01:39   #813
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Ну если ты делаешь только для PC/Mac то сойдет, если под Android/iOS, то я бы подумал о плейнах или о том, чтобы взять готовое GUI.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 01:58   #814
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

готовое GUI это ngui например? Там свои проблемы, и не бесплатен он. Ориентируюсь на смартфоны.

Я пытался делать свой gui плашками, но сильно застопорился на системе отслеживания нажатий.
Во первых я из главного(родительского) объекта иерархически искать на всех объектах мои коллайдеры и пускал в них луч, что конечно не быстро.
Во вторых там были какие-то проблемы с очередностью выполнения Update'ов. К сожалению нельзя перед Update проверить все кнопки и задать им например pressedDown = true, а после Update'ов сбросить все значения.

С первой проблемой можно разобраться сделав, чтобы каждый элемент сам себя проверял на нажатие, но перекрытие элементов тут уже не сработает.
Да и размещать элементы вручную оказалось напряжно. Пусть лучше это делает GUILayout.
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 02:06   #815
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

http://docs.unity3d.com/Documentatio...Execution.html это возможно решение одной из твоих проблем.

Есть вот такое http://nic-starc.ru/dev/GLU/EN/files/GLUDemo.zip
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 02:19   #816
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Лучше бы каждому скрипту аннотацией можно было бы задавать приоритет)
Нет, я конечно могу попробовать своему главному скрипту задать приоритет, чтобы он первым выполнялся.
Но во первых при переносе в другой проект это сломается.
Во вторых, если мне вздумается еще паре скриптов задать приоритеты, то может такая каша получится...

Кстати, update у дочерних объектов не должен вызываться позже? Если бы это было так, то проблемы наверно не было.
Кажется на сайте Unity писали, что на разных платформах оно вообще по разному вызывается. Стремно полагаться на очередность выполнения скриптов.
Можно корутиной дождаться конца кадра и сделать все проверки. И для следующего кадра уже было бы все готово. Но блин после конца кадра Input уже не работает.
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 02:30   #817
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Мне бы твои проблемы)
Чтобы проверить обрабатывался элемент в текущем кадре можно использовать номер кадра (хранить кадр последней обработки) - http://docs.unity3d.com/Documentatio...rameCount.html
Конец кадра ты знаешь как использовать.
Надо иметь свою очередь - Собери все компоненты свои с нужной очередью в массив или список.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 02:45   #818
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Через "жопу" можно многие проблемы решить, но выльется это в тормоза, баги или просто не удобно использовать.
Ну узнаю я, что в данном кадре элемент еще не обрабатывался и что дальше? Насильно вызвать обработчик? Вариант конечно, но как говорится через Ж. Хотя, когда делаешь коммерческий проект, то делаешь только бы работало, и то порой фигово работает))
А у тебя какие проблемы?
Unity4 уже используешь? Наверно еще баги есть?
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 03:06   #819
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Четвертую не использую. Кнопки - плейны. Мои проблемы решаются по ходу возникновения.

По поводу лайоута - Unity делает дополнительный проход (вызов) OnGUI каждый кадр для расчета положений. Так что считай твой OnGUI вызывается минимум 2 раза за кадр (Layout, Repaint). Еще он обрабатывает события мыши или клавиатуры - это отдельный вызов OnGUI. Исходя из этого - функция OnGUI вызывается 2+ раза за кадр. Делай выводы).
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 03:42   #820
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Ну из-за того, что OnGUI вызывается два раза он не делает два раза одно и тоже. Отсутствие батчинга в gui больше тормозит.
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 11:18   #821
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

запарил, то ему одно не нравится, то другое. Берешь Opengl и пишешь все руками, кстати класс GL и Graphics тебе в помощь
http://docs.unity3d.com/Documentatio...erence/GL.html
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 02.12.2012, 14:13   #822
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

И это мне не нравится
(Offline)
 
Ответить с цитированием
Старый 03.12.2012, 22:43   #823
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Вопросы от новичка

NullReferenceException
ThirdPersonController.Update () (at Assets/Standard Assets/Character Controllers/Sources/Scripts/ThirdPersonController.js:325)
вот такие вот дела при нажатии пробела.
(Offline)
 
Ответить с цитированием
Старый 03.12.2012, 23:06   #824
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

ну так ищи где ошибка, щелкни по ней два раза в консоли, а там по ситуации.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.12.2012, 23:39   #825
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Вопросы от новичка

_animation[jumpPoseAnimation.name].speed = jumpAnimationSpeed;
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 11:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com