Показать сообщение отдельно
Старый 07.01.2013, 17:11   #947
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Вот более путевые строки
			Rect rect = GUILayoutUtility.GetRect( new GUIContent(name), normal, GUILayout.ExpandWidth(true) );
			if(i == selected) FillRect(rect, Color.green);
			if(GUI.Button(rect, name, normal)) {
				if(selected != i) GUIUtility.keyboardControl = 0;
				selected = i;
			}
Все бы хорошо, но что за бред с Handles.DrawSolidRectangleWithOutline! Сразу после компиляции он еще выдает правильный цвет, но после первой перерисовки снова черным рисует. Странно, но в другом проекте работает.
Может есть где-то матрица трансформации цвета?

UPDATE:
Понял почему не работал Handles.DrawSolidRectangleWithOutline. Нужно было еще и Handles.color задать.
Впрочем все равно почему-то прямоугольник рисуется темнее, чем должен.

Вот код рисования списка
			Rect rect = GUILayoutUtility.GetRect( new GUIContent(name), style, GUILayout.ExpandWidth(true) );
			if(i == selected) {
				Color blue = new Color( 61/255f, 128/255f, 223/255f );
				FillRect(rect, blue);
			}
			
			GUI.Label(rect, name, style);
			
			if(Event.current.type == EventType.MouseDown && rect.Contains(Event.current.mousePosition)) {
				if(selected != i) GUIUtility.keyboardControl = 0;
				Event.current.Use();
				selected = i;
			}
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 879
Размер:	7.0 Кб
ID:	18410  
(Offline)
 
Ответить с цитированием