 |
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
29.08.2012, 20:56
|
#616
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Одни противоречия
Сообщение от WISHMASTER35
pax, вот именно что я не пойму как в инспекторе изменить поле, чтобы при нажатии на него было не редактирование строки, а выподал список методов скрипта. но как я понимаю такое не сделать.
|
Я тебе дал ответ, теперь ты пишешь что это знаешь
Сообщение от WISHMASTER35
Как создать инспектор для одного скрипта я знаю.
|
конечно, я же дал ответ. Ты уш определись и задавай вопросы конкретнее.
Сообщение от WISHMASTER35
Я имел ввиду как изменить поле для своего типа во всех скриптах. Либо изменить инспектор для простого класса как тот ReceiverItem.
Если бы твой пример изменял дефолтный инспектор для ВСЕХ скриптов, то еще было бы нормально.
Если таких скриптов будет больше, чем пальцев на руку, то у меня конечно мало желания писать еще для каждого Editor'ы, а эти редакторы еще настраивать\перенастраивать при добавлении\удалении такого string messageName.
Я хотел более\менее универсальный способ.
|
Для сериализуемых классов, которые используются как значения - нельзя инспекторы писать.
Сообщение от WISHMASTER35
кстати, впервые вижу такие конструкции
|
Оператор дефолтного значения (правая часть подставляется, когда левая null) и Лямбда выражение.
|
(Offline)
|
|
29.08.2012, 21:39
|
#617
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Я уточнил. Не вижу ничего противоречивого в своем уточнении.
Я хотел, чтобы код написанный раз работал всегда и везде, а не дописывать его для каждого скрипта. Ладно, как я изначально и думал решения тут нету.
|
(Offline)
|
|
30.08.2012, 12:35
|
#618
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
В четверке появились класс PropertyDrawer и атрибут CustomPropertyDrawer для этих целей. А так же PropertyAttribute для модификации отображения конкретных свойств, например задать Range для чисел.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.09.2012, 22:44
|
#619
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
Как сделать размытие при повороте камеры? (Blur, похоже, никуда не годится)
|
(Offline)
|
|
04.09.2012, 23:15
|
#620
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
|
(Offline)
|
|
04.09.2012, 23:21
|
#621
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы от новичка
а лучше не делать. я знаю целых ноль игр где это уместно.
|
(Offline)
|
|
04.09.2012, 23:52
|
#622
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
а лучше не делать. я знаю целых ноль игр где это уместно.
|
Мне во всех нравится. Это не такой заметный эффект, но приятно.
|
(Offline)
|
|
09.09.2012, 19:54
|
#623
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
pax, ты мне когда-то давал пример как рисовать с правой стороны экрана.
GUILayout.BeginArea(new Rect(0, 0, Screen.width, Screen.height));
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
GUILayout.Label("Label");
GUILayout.EndHorizontal();
GUILayout.EndArea();
Так я и не могу понять как BeginArea(new Rect(0, 0, Screen.width, Screen.height)) тут работает.
Ведь (0, 0, Screen.width, Screen.height) это и так дефолтные координаты экрана.
|
(Offline)
|
|
09.09.2012, 22:49
|
#624
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Area это Vertical в заданном ректе. Вертикал начинается с верху этой области. Горизонтал в первой строке прижимает метку к правой части строки с использованием резинового пространства.
|
(Offline)
|
|
18.09.2012, 20:07
|
#625
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
А возможно в окне Game рисовать из Editor и отслеживать события мыши?
|
(Offline)
|
|
18.09.2012, 21:12
|
#626
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
В Game на врядли, в SceneView можно.
|
(Offline)
|
|
18.09.2012, 21:26
|
#627
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Плохо. Я хотел сделать небольшой редактор gui, чтобы можно было трансформировать gui визуально.
И еще, нельзя сделать, чтобы GUILayout растягивал элементы на 1/n от ширины или высоты области рисования сохраняя пропорции? Или он только позиции вычисляет?
Сейчас я кнопку сделал в отдельном классе и там вручную вычисляю позицию и размер
float x = this.x * Screen.width / 100f + transform.position.x;
float y = this.y * Screen.height / 100f + transform.position.y;
float aspect = (float) texture.width / texture.height;
float scale = Screen.height;
float w = transform.lossyScale.x * scale * this.scale / 100f * aspect;
float h = transform.lossyScale.y * scale * this.scale / 100f;
Vector2 offset = GetOffset(anchor);
x -= offset.x * w;
y -= offset.y * h;
return new Rect(x, y, w, h);
Думаю может можно проще это делать.
Надо сделать GUI, чтобы нормально выглядел на разных экранах.
|
(Offline)
|
|
18.09.2012, 23:58
|
#628
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
есть реализация редактирования GUI через хэндлы http://code.google.com/p/bitverse-unity-gui/
|
(Offline)
|
|
22.09.2012, 18:58
|
#629
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
if(Input.touchCount==0) DDMove.LR=0; foreach(Touch touch in Input.touches) { if(touch.position.x>Screen.width/2.0) DDMove.LR=1f; else DDMove.LR=-1f; if(Input.touchCount>1) { DDMove.Jump=true; } }
Кроме прыжка ничего больше не работает, че за хрень?
|
(Offline)
|
|
22.09.2012, 23:22
|
#630
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
странное управление, а полностью весь скрипт и к нему прилагающийся (DDMove) можно?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:49.
|