Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.04.2010, 14:17
kichSman вне форума Посмотреть профиль Отправить личное сообщение для kichSman Найти все сообщения от kichSman
  № 1  
Ответить с цитированием
kichSman
[+1.4 24.09.09]

Регистрация: Apr 2009
Сообщений: 72
По умолчанию Возможна ли рисование границ строк в многострочном TextField?

Собственно вопрос кажется не сложным, но когда взялся за его реализацию встал в тупик.

Есть многострочный TextField, т.е. тот, у которого установлены
Код AS1/AS2:
txt.wordWrap = true;
txt.multiline = true;
Так вот, хочется программным путем нарисовать нижнюю границу у каждой строки этого поля, чтобы получилось как будто тетрадка в линейку.

Помогите с вариантами решения данной задачи.

Старый 15.04.2010, 15:00
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Идейно никак. Но есть обходные пути. Например текст у тебя находится на координатах 20*20. Вычисляешь. И программно начинаешь рисовать линии дублируя их, от 20 с интервалом = расстоянию между строками файлда. Можно также нарисовать линию вручную и через аттач сделать тоже самое.

Старый 15.04.2010, 15:02
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 3  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Самый простой вариант - использовать htmlText с подчеркиванием. А по правильному - надо у каждой линии брать TextLineMetrics методом getLineMetrics(), находить baseline и чертить нужную линию.

Старый 15.04.2010, 15:07
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Я же предложил отличный вариант с аатачем! Лучше не придумаешь и быстрее

Старый 15.04.2010, 15:09
kichSman вне форума Посмотреть профиль Отправить личное сообщение для kichSman Найти все сообщения от kichSman
  № 5  
Ответить с цитированием
kichSman
[+1.4 24.09.09]

Регистрация: Apr 2009
Сообщений: 72
Цитата:
Сообщение от Волгоградец Посмотреть сообщение
Самый простой вариант - использовать htmlText с подчеркиванием. А по правильному - надо у каждой линии брать TextLineMetrics методом getLineMetrics(), находить baseline и чертить нужную линию.
А разве это возможно на AS2 тем более, в Macromedia 8?

Добавлено через 4 минуты
Цитата:
Сообщение от in4core Посмотреть сообщение
Я же предложил отличный вариант с аатачем! Лучше не придумаешь и быстрее
Уже пробовал способом программного рисования через вычисление координатов, но проблема сразу появляется в том, что когда строк оченьььь много, то при отклонении координатов рисуемых линий даже на 0,1 пиксель, то самый низ съезжает довольно значительно.

Кстати, аттач не очень хороший вариант в плане веса, проще на родительском классе нарисовать через цикл

Старый 15.04.2010, 15:14
Tahion вне форума Посмотреть профиль Отправить личное сообщение для Tahion Найти все сообщения от Tahion
  № 6  
Ответить с цитированием
Tahion

Регистрация: Apr 2010
Сообщений: 57
Возможно.

А можно просто после каждой строки рисовать линию т.е после значительного изменения textHeight. В координатах новой линии но придется текст порциями как бы добавлять).

Ноо вообще вариант Волгоградец не сложный и лучший только расстояние между линиями одинаковое поэтому размер линии и лайн спейсинг нужно всего 1 раз замерить а не каждый раз

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.