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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.10.2009, 21:59
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 1  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
По умолчанию Не могу вычислить высоту текста

Привет,
не могу вычислить высоту текста
Я использую "Character Embedding...", TextFieldAutoSize.LEFT, multiline = true, wordWrap = true и фиксированную ширину. Визуально у меня текст переносится по строкам (в зависимости от ширины поля), только вот height текста остается неизменным.
Например, у меня текст перенесся на 2 строки, а height у поля (темно-серый прямоугольник) неверный:

Текстовое поле я импортировал из SWF-библиотеки.
Спасибо за помощь.

Добавлено через 10 минут
Я понял, что флеш берет высоту текста из филда из IDE:

Т.е. если я ставлю в IDE behavior: multiline, то у меня текст из первого поста влазит в 5 строк и у меня numLines = 5, если behavior = single mode, то numLines = 1.
Т.е. не влияет на высоту поля и кол-во линий, если я ставлю multiline из кода.
Кто-нибудь борол это?

Еще, юзаю FP9.

Старый 25.10.2009, 22:13
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Не знаю, сохранился ли этот глюк, но если перезапросить высоту поля дважды или отложить на кадр, то можно получить реальное значение. Во всяком случае, так было в AVM1. В AVM2 с таким не сталкивался.

Старый 25.10.2009, 22:17
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 3  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Вот блин,
setTimeout на 10мсек помог получить верную высоту.
Текстовые возможности флеша очень бажные.
Также через setTimeout я делал сброс строки на "" после нажатия на Enter, а то получалось 2 пустых строки.
Спасибо, etc.

Кстати, в FP10 есть улучшения?

Старый 25.10.2009, 22:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Да не особо
Если вопрос касается Text Engine, то я с ним не работал, но по слухам, он ещё тормознее обычных полей.

Старый 25.10.2009, 22:30
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 5  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Еще вопрос, может не в тему:
как работает TextFieldAutoSize.RIGHT и CENTER?
Или как мне выровнять динамический текст?

Добавлено через 2 минуты
С setTimeout получается жесткая асинхронизация Просто теперь придется включать "ожидалки" над текстовыми полями, где требуется высота теста. Печально, что в Адобе не выпустят фикс.

Старый 25.10.2009, 22:47
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от enepx Посмотреть сообщение
С setTimeout получается жесткая асинхронизация Просто теперь придется включать "ожидалки" над текстовыми полями, где требуется высота теста. Печально, что в Адобе не выпустят фикс.
Денис выше написал же
Цитата:
но если перезапросить высоту поля дважды
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.10.2009, 22:49
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 7  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от iNils Посмотреть сообщение
Денис выше написал же
Попробовал я сразу:
Код AS3:
height = _field.height;
height = _field.height;
Никак, хоть три раза

Добавлено через 7 минут
Короче, замутно, но сделал (даже не понял как так получилось, но считывал один раз), теперь иду спать с чистой совестью!

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

Теги
height , multiline , textfield
Опции темы
Опции просмотра

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

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


 


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


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