forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

pax 29.08.2012 20:56

Ответ: Вопросы от новичка
 
Одни противоречия

Цитата:

Сообщение от WISHMASTER35 (Сообщение 237155)
pax, вот именно что я не пойму как в инспекторе изменить поле, чтобы при нажатии на него было не редактирование строки, а выподал список методов скрипта. но как я понимаю такое не сделать.

Я тебе дал ответ, теперь ты пишешь что это знаешь

Цитата:

Сообщение от WISHMASTER35 (Сообщение 237521)
Как создать инспектор для одного скрипта я знаю.

конечно, я же дал ответ. Ты уш определись и задавай вопросы конкретнее.

Цитата:

Сообщение от WISHMASTER35 (Сообщение 237521)
Я имел ввиду как изменить поле для своего типа во всех скриптах. Либо изменить инспектор для простого класса как тот ReceiverItem.
Если бы твой пример изменял дефолтный инспектор для ВСЕХ скриптов, то еще было бы нормально.

Если таких скриптов будет больше, чем пальцев на руку, то у меня конечно мало желания писать еще для каждого Editor'ы, а эти редакторы еще настраивать\перенастраивать при добавлении\удалении такого string messageName.
Я хотел более\менее универсальный способ.

Для сериализуемых классов, которые используются как значения - нельзя инспекторы писать.

Цитата:

Сообщение от WISHMASTER35 (Сообщение 237521)
кстати, впервые вижу такие конструкции

Оператор дефолтного значения (правая часть подставляется, когда левая null) и Лямбда выражение.

WISHMASTER35 29.08.2012 21:39

Ответ: Вопросы от новичка
 
Цитата:

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

pax 30.08.2012 12:35

Ответ: Вопросы от новичка
 
В четверке появились класс PropertyDrawer и атрибут CustomPropertyDrawer для этих целей. А так же PropertyAttribute для модификации отображения конкретных свойств, например задать Range для чисел.

is.SarCasm 04.09.2012 22:44

Ответ: Вопросы от новичка
 
Как сделать размытие при повороте камеры? (Blur, похоже, никуда не годится)

pax 04.09.2012 23:15

Ответ: Вопросы от новичка
 
например за денюшку http://u3d.as/content/insidious-tech...otion-blur/3hT

den 04.09.2012 23:21

Ответ: Вопросы от новичка
 
а лучше не делать. я знаю целых ноль игр где это уместно.

is.SarCasm 04.09.2012 23:52

Ответ: Вопросы от новичка
 
Цитата:

а лучше не делать. я знаю целых ноль игр где это уместно.
Мне во всех нравится. Это не такой заметный эффект, но приятно.

WISHMASTER35 09.09.2012 19:54

Ответ: Вопросы от новичка
 
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) это и так дефолтные координаты экрана.

pax 09.09.2012 22:49

Ответ: Вопросы от новичка
 
Area это Vertical в заданном ректе. Вертикал начинается с верху этой области. Горизонтал в первой строке прижимает метку к правой части строки с использованием резинового пространства.

WISHMASTER35 18.09.2012 20:07

Ответ: Вопросы от новичка
 
А возможно в окне Game рисовать из Editor и отслеживать события мыши?

pax 18.09.2012 21:12

Ответ: Вопросы от новичка
 
В Game на врядли, в SceneView можно.

WISHMASTER35 18.09.2012 21:26

Ответ: Вопросы от новичка
 
Плохо. Я хотел сделать небольшой редактор 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, чтобы нормально выглядел на разных экранах.

pax 18.09.2012 23:58

Ответ: Вопросы от новичка
 
есть реализация редактирования GUI через хэндлы http://code.google.com/p/bitverse-unity-gui/

RegIon 22.09.2012 18:58

Ответ: Вопросы от новичка
 
PHP код:

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;
                
                }                
            } 

Кроме прыжка ничего больше не работает, че за хрень?

pax 22.09.2012 23:22

Ответ: Вопросы от новичка
 
странное управление, а полностью весь скрипт и к нему прилагающийся (DDMove) можно?


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot