Выравнивание текста по ширине Label (Решено)

Программирование на Юнити.

Выравнивание текста по ширине Label (Решено)

Сообщение ][@FF 15 июн 2011, 21:50

Доброго вечера, уважаемые.
столкнулся с сией задачей, на первый взгляд казалась не такой сложной,когда открыл второй взгляд все оказалось гораздо сложнее, для меня...

то что я нашел по этому поводу
http://unity3d.com/support/documentatio ... nchor.html

Синтаксис:
Используется csharp
        GUI.skin = VerticalScrollBarMySkin;//вертикальная прокрутка
        GUI.skin.label.alignment = TextAnchor.LowerCenter;//выравнивание по верху по центру
        GUI.contentColor = Color.black;//цвет текста
        scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Width(407), GUILayout.Height(480));//поле с текстом и прокруткой
        GUILayout.Label(longString);//longString-строка символов
        GUILayout.EndScrollView();
        GUI.skin = null;
 

собсна во ти вопрос как сделать выравнивание по ширине всего поля = (
Буду рад любой помощи. Заранее благодарен.
Последний раз редактировалось ][@FF 16 июн 2011, 23:31, всего редактировалось 1 раз.
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Выравнивание текста по ширине Label

Сообщение Neodrop 15 июн 2011, 22:24

в GUIStyle есть параметр для автоматического растягивания на всю возможную ширину. ExpendWidth кажется или как то. В справки поглядите.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Выравнивание текста по ширине Label

Сообщение Neodrop 15 июн 2011, 22:27

stretchWidth
Естественно, fixedWidth должен быть 0

(картинка из Universe. Не ищите этот Инспектор в Unity)
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Выравнивание текста по ширине Label

Сообщение ][@FF 16 июн 2011, 15:49

настройки для label (выводимого текста)
http://pixplace.ru/?v=2udu.png
//при попытке вставить картинку через [ img ][ /img ] выдает сообщение "невозможно определить размер изображения" = (

сам текст
http://pixplace.ru/?v=1bkb.png


Синтаксис:
Используется csharp
        GUI.skin = VerticalScrollBarMySkin;
        GUI.contentColor = Color.black;
        scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Width(407), GUILayout.Height(480));
        GUILayout.Label(longString);
        GUILayout.EndScrollView();
        GUI.skin = null;


как видно из картинок текст не выравнивается по всей ширине хотя в настройках стоит stretchWidth(true) и fixedWidth = 0, что я делаю не правильно?
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Выравнивание текста по ширине Label

Сообщение Zaicheg 16 июн 2011, 15:53

Нету выключки по ширине в стандартных средствах. Все варианты перечислены в TextAnchor.
Можете попробовать выводить текст не текстом, а картинками (скриншоты с текстового редактора, можно автоматизировать), весьма неплохой способ.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Выравнивание текста по ширине Label

Сообщение ][@FF 16 июн 2011, 15:59

Нету выключки по ширине в стандартных средствах.
а можно как то программно отключить выравнивание по левому краю (или любому другому из перечисленных)?

Можете попробовать выводить текст не текстом, а картинками (скриншоты с текстового редактора, можно автоматизировать), весьма неплохой способ.
ух, у меня текст из БД пересылается = )
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Выравнивание текста по ширине Label

Сообщение seaman 16 июн 2011, 16:08

ух, у меня текст из БД пересылается = )

Ну и что? Это не мешает сделать его картинками/плашками...
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Выравнивание текста по ширине Label

Сообщение ][@FF 16 июн 2011, 16:32

хм, я возможно что то не понимаю, поясните, я еще лучше ссылку если что то подобное уже разбирали.
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Выравнивание текста по ширине Label

Сообщение seaman 16 июн 2011, 17:28

http://blog.almostlogical.com/2010/08/20/adding-text-to-texture-at-runtime-in-unity3d-without-using-render-texture/
"Текст в текстуру" - класс прямо так и называется. А откуда он берется из базы или нет неважно...
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Выравнивание текста по ширине Label

Сообщение Neodrop 16 июн 2011, 17:36

Выводить посредине можно конечно. Это параметр alignment. :-B
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Выравнивание текста по ширине Label

Сообщение ][@FF 16 июн 2011, 17:44

нет, мне не по середине надо, мне надо как в MS Word выравнивание по ширине
Аватара пользователя
][@FF
UNIт
 
Сообщения: 62
Зарегистрирован: 24 фев 2011, 20:02
  • ICQ

Re: Выравнивание текста по ширине Label

Сообщение DbIMok 16 июн 2011, 17:54

Синтаксис:
Используется csharp
        string sample = "Я очень хочу\nвыровнять текст по ширине";
        void OnGUI()
        {
                string[] strs = sample.Split("\n"[0]);
                foreach (var str in strs)
                {
                        string[] s = str.Split(" "[0]);
                        GUILayout.BeginHorizontal();
                        for (int i = 0; i < s.Length; i++ )
                        {
                                GUILayout.Label(s[i]);
                                if (i != s.Length-1) GUILayout.FlexibleSpace();
                        }
                        GUILayout.EndHorizontal();
                }
        }
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Выравнивание текста по ширине Label

Сообщение Neodrop 16 июн 2011, 17:54

Кернинг что ли? Чтобы текст размазался на всю ширину? :-?
Покажите эскиз наконец. Я уже совершенно запутался, что за пожелания у вас там.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Выравнивание текста по ширине Label

Сообщение Zaicheg 16 июн 2011, 17:59

Neodrop писал(а):Кернинг что ли? Чтобы текст размазался на всю ширину? :-?
Покажите эскиз наконец. Я уже совершенно запутался, что за пожелания у вас там.

Вот он чём:
http://inf.1september.ru/2009/03/31-1.gif
Это когда блок текста принимает очертания прямоугольника за счёт растягивания пробелов между словами.
Меня и многих других такое выравнивание огорчает, может автору вообще пересмотреть задачу, надо ли оно. Не встречаю этого ни в книгах, ни в газетах, только в некоторых документах, где ГОСТ требует по ширине ровнять.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Выравнивание текста по ширине Label

Сообщение Neodrop 16 июн 2011, 18:11

ааа, я то думал...
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

След.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9