Выделение текста. Узнать строку, на которую кликнули.

Графический интерфейс пользователя

Выделение текста. Узнать строку, на которую кликнули.

Сообщение Woolf 04 сен 2015, 09:58

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

Изображение

Какие есть идеи, как узнать строку, на которую кликнул игрок? Как осуществить выделение текста?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение samana 04 сен 2015, 11:37

Я так понимаю вам нужен лог чата, но чтобы пользователь не мог там естественно что-то дописывать, но мог скопировать текст?
Не знаю, сработает ли следующая идея. Пусть лог выводится именно в InputField, но текст лога хранить где нибудь отдельно. И чтобы пользователь мог выделять текст из лога, но не редактировать, то повесить на метод On Value Change этого лога метод, который будет устанавливать в него текст из сохранённого отдельно текста. Таким образом изменить текст не получится, но выделять можно.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение MF_Andreich 04 сен 2015, 12:32

Text Mesh Pro умеет такие вещи (определение строки, символа, слова по которому кликнули), но у него пока нет нормальной поддержки инпут филдов. Кстати и выглядит он куда лучше, чем стандартный текст UI.
Holly Shovel Team
Аватара пользователя
MF_Andreich
Старожил
 
Сообщения: 924
Зарегистрирован: 20 июн 2013, 10:09
Откуда: Барнаул
Skype: mf_andreich
  • ICQ

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение Woolf 04 сен 2015, 12:39

samana писал(а):Я так понимаю вам нужен лог чата, но чтобы пользователь не мог там естественно что-то дописывать, но мог скопировать текст?
Не знаю, сработает ли следующая идея. Пусть лог выводится именно в InputField, но текст лога хранить где нибудь отдельно. И чтобы пользователь мог выделять текст из лога, но не редактировать, то повесить на метод On Value Change этого лога метод, который будет устанавливать в него текст из сохранённого отдельно текста. Таким образом изменить текст не получится, но выделять можно.


InputField не подходит по причине того, что 1) он не скроллится, 2) не поддерживает rich текст
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение Woolf 04 сен 2015, 12:52

MF_Andreich писал(а):Text Mesh Pro умеет такие вещи (определение строки, символа, слова по которому кликнули), но у него пока нет нормальной поддержки инпут филдов. Кстати и выглядит он куда лучше, чем стандартный текст UI.


Вот это интересная вещь.. Насколько я понимаю, оно полностью совместимо с нативным UI?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение MF_Andreich 04 сен 2015, 14:08

Woolf писал(а):
MF_Andreich писал(а):Text Mesh Pro умеет такие вещи (определение строки, символа, слова по которому кликнули), но у него пока нет нормальной поддержки инпут филдов. Кстати и выглядит он куда лучше, чем стандартный текст UI.


Вот это интересная вещь.. Насколько я понимаю, оно полностью совместимо с нативным UI?

У него есть компонент как просто для 3d, так и для UI, но там не события, там весьма куревный способ опознания клика. Но узнать можно что кликнули, в какой линии и какое слово.
Holly Shovel Team
Аватара пользователя
MF_Andreich
Старожил
 
Сообщения: 924
Зарегистрирован: 20 июн 2013, 10:09
Откуда: Барнаул
Skype: mf_andreich
  • ICQ

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение Chaz 04 сен 2015, 20:11

Ну, там, наверн, можно на основе ширины, высоты, количества текста, шрифта и размера шрифта узнать, где и какая строка находится.
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Выделение текста. Узнать строку, на которую кликнули.

Сообщение BornFoRdeatH 04 сен 2015, 20:37

Woolf писал(а):InputField не подходит по причине того, что 1) он не скроллится, 2) не поддерживает rich текст

1) Скролится
2) Поддерживает

:) инпат филд это по сути обертка для текста, и без компонента Text он не работает, а что в том тексте, рич не рич, сколится не скролится ему пофиг

Разве что немного переопределить инпатфилд придется, добавить еще один стринг для выделения, с рич текстом некороектно будет работать так как отображаемый текст не соответствует истинному.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath


Вернуться в uGUI

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

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


cron