Вторник, 16 Октября 2018, 07:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как реализвать скроллинг текстового поля? (при том что кол-во строк в тексте неизвестно)
Как реализвать скроллинг текстового поля?
andarkyДата: Среда, 01 Июля 2015, 16:17 | Сообщение # 1
старожил
Сейчас нет на сайте
Я пересмортел с 10ок примеров и всё одно и то же. Они выставляют размер поля, потом туда текст вводят.
А потом двигают туда-сюда.

Но это всё фигня! Я бы и без UI сам мог такое сделать!

А моя задача вот какая:
гружу текст из папки и в вывожу его в InputField.
Файлы разной длины могут быть. 5-50строк.
Длина строки - тоже величина не постоянная, т.е. если не влазит по ширине WordWrap начнет с новой строки

Я не смог нагуглить примеры как определить количество строк в TextField.
А незная этого как можно назначить высоту TextField?

Или что другое подскажете?



Моя страничка по дизайну
GameDev//Design//3D
seamanДата: Среда, 01 Июля 2015, 18:13 | Сообщение # 2
старожил
Сейчас нет на сайте
Видимо имеется в виду TextArea?
TextField - Make a single-line text field where the user can edit a string.
Используй GUILayout и не парься с размерами областей...
berilДата: Среда, 01 Июля 2015, 19:38 | Сообщение # 3
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Причем тут TextField к UI?
Если имелось ввиду Text и нужен ScrollRect в этом видео показано как сделать скроллинг (с 28 минуты)

Цитата andarky ()
Я не смог нагуглить примеры как определить количество строк в TextField.

Заполни весь текст символами, посчитай сколько их, раздели все символы на количество строк(ну или просто одну строку заполни и посчитай). Получившееся количество символов и будет длина строки в данном случае. В ручную проверяй не привысил ли допустимое количество символов и принудительно через /n переноси на новую строку biggrin Топорный метод, по идее должен работать, наверное..... blink




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
seamanДата: Среда, 01 Июля 2015, 19:42 | Сообщение # 4
старожил
Сейчас нет на сайте
Цитата
Причем тут TextField к UI?

Вы считаете, что с приходом нового ГУИ все должны перейти только на него? При том, что в ГУИ есть он!
berilДата: Среда, 01 Июля 2015, 20:20 | Сообщение # 5
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата andarky ()
Но это всё фигня! Я бы и без UI сам мог такое сделать!

Но как бы эта фраза намекает, что он работает с UI (лично мне так показалось) wacko

Если GUI то что то вроде этого:
Код

      GUILayout.BeginArea (new Rect (50, 50, 200, 200));
          scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (100), GUILayout.Height (100));
              GUILayout.TextField ("ТЕКСТ бла бла", "Label");
          GUILayout.EndScrollView ();
          GUILayout.EndArea ();




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
seamanДата: Среда, 01 Июля 2015, 22:19 | Сообщение # 6
старожил
Сейчас нет на сайте
Цитата
Но как бы эта фраза намекает, что он работает с UI

Ну тут действительно непонятно вроде говорит про TextField, который в ГУИ? с другой стороны про InputField, который в UI.
Видимо я все же ошибся и имелся в виду визуальный компонент нового UI - Text.
Ну к сожалению я новый УИ недостаточно знаю.
Понятно, что можно рассчитать количество символов помещающихся в строке текста из размер фонта и размера поля. Далее рассчитать количество строк исходя из опять таки размера шрифта, размера поля и количества символов в строке. Ну и менять текст имитируя скроллинг.
Однако как-то не верится, что в новом УИ нет ничего похожего на ScrollView из старого ГУИ. Может могут помочь Auto Layout элементы?

Добавлено (01 июля 2015, 22:19)
---------------------------------------------
ВОТ! Все же есть:
UI Scrollbar
https://unity3d.com/ru/learn/tutorials/modules/beginner/ui/ui-scrollbar
UI Scroll Rect
https://unity3d.com/ru/learn/tutorials/modules/beginner/ui/ui-scroll-rect

berilДата: Среда, 01 Июля 2015, 23:40 | Сообщение # 7
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата seaman ()
Однако как-то не верится, что в новом УИ нет ничего похожего на ScrollView из старого ГУИ

Есть ScrollRect, я выше кидал ссылку на видео, там все подробно описано smile




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
andarkyДата: Четверг, 02 Июля 2015, 11:24 | Сообщение # 8
старожил
Сейчас нет на сайте
Цитата beril ()
Есть ScrollRect, я выше кидал ссылку на видео, там все подробно описано

я это смотрел тоже
странно, но у меня такого нет...
Unity 4.6.3 - это уже устаревшая??

Добавлено (02 июля 2015, 11:24)
---------------------------------------------

Цитата beril ()
Заполни весь текст символами, посчитай сколько их, раздели все символы на количество строк(ну или просто одну строку заполни и посчитай). Получившееся количество символов и будет длина строки в данном случае. В ручную проверяй не привысил ли допустимое количество символов и принудительно через /n переноси на новую строку

да, я так делал давно. Не в Unity.

Способ дурацкий, т.к. у меня будет меняться и размер поля и размер шрифта.
и у меня текст HTML, т.е. - помимо /n у меня еще и болды и <color> есть. Я бы еще хотел писать заголовки шрифтом большего размера.

Да если просто текст - годится такой метод только для моноширных шрифтов - а это не очень красиво.



Моя страничка по дизайну
GameDev//Design//3D
berilДата: Четверг, 02 Июля 2015, 11:36 | Сообщение # 9
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата andarky ()
я это смотрел тоже
странно, но у меня такого нет...

ScrollRect нету ? AddComponent => ScrollRect

Цитата andarky ()
Unity 4.6.3 - это уже устаревшая??

5.1 вроде актуальная




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
andarkyДата: Четверг, 02 Июля 2015, 12:05 | Сообщение # 10
старожил
Сейчас нет на сайте
ВОТ


что же? в 4.6 вообще уже никак ничего не получится??



Моя страничка по дизайну
GameDev//Design//3D
seamanДата: Четверг, 02 Июля 2015, 13:23 | Сообщение # 11
старожил
Сейчас нет на сайте
Последняя четверка - 4.6.6
У меня 4.6.4 в ней все есть.

Обновляйся...
andarkyДата: Четверг, 02 Июля 2015, 14:34 | Сообщение # 12
старожил
Сейчас нет на сайте
seaman,
интересно... да.
У тебя всё как в видео, которые я пересмотрел.
А у меня нет даже компонента mask
хотя судя по оф.докам - пишут что он должен быть с 4.6.3

Добавлено (02 июля 2015, 14:34)
---------------------------------------------
а 4ки все под WinXP32 идут?



Моя страничка по дизайну
GameDev//Design//3D
berilДата: Пятница, 03 Июля 2015, 01:57 | Сообщение # 13
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата andarky ()
У тебя всё как в видео, которые я пересмотрел.
А у меня нет даже компонента mask
хотя судя по оф.докам - пишут что он должен быть с 4.6.3

А тs пробывал в поиске вбивать ? На скрине я вижу ты заходишь в меню Layout, а компоненты находятся в меню UI.
Так же нажал на меню которое находится на верхней панели. Но скрин с меню GameObject, а это все(ScrollRect и т.д) находится в верхнем меню Component




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как реализвать скроллинг текстового поля? (при том что кол-во строк в тексте неизвестно)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг