![]() |
Textfield.autoSize в Flash 8 отсекает последнюю строку.
Аттчу клип в котором есть текстовое поле. Выставляю у текстового поля autoSize = true, далее пишу в него текст, но у текста пропадает последняя строка. Не подскажите в чём может быть дело и как эту проблему решить.
|
Пример?
|
Код:
this.target.items.attachMovie(ex_name, name_item, this.target.items.getNextHighestDepth(), {_y: y_pos}); |
Код ничего не говорит.
Приведи пример текста, пример TextFormat и параметров TextField, при которых возникает данный косяк. |
Да я впринципе и думал что он ничего не скажет.
Начал копаться в опцях текстового поля. Это происходит из-за отрицательного значения Line Spacing А задумка такова, что он обязательно должен быть отрицательным. вот часть из дебага. Код:
thickness = 0, |
>>Да я впринципе и думал что он ничего не скажет.
если ты полагаешь, что эта 'часть из дебага' о чем-то говорит, то увы.. как вариант: добавляй к тесту "\n" и пусть его пропадает.. |
\n я по некоторым причинам добавлять не хочу. Вообще странный глюк.
|
Я бы не назвал это глюком.
|
Это не совсем баг, просто autosize работает очень тупо:
высота поля = (высота строки + межстрочный отступ)*(количество строк) Поэтому даже при положительном line space высота будет подсчитываться не совсем корректно, она будет больше на межстрочное расстояние (включите бордер у поля, чтобы убедиться). Это заметно, если надо точно позиционировать поля, но никто не жалуется, т.к. все строки на месте. А вот если расстояние между строками отрицательное - получаем высоту поля меньшую ровно на это самое межстрочное расстояние, а ведь рендерер текста выводит только полностью вместившиеся строки. По идее-то правильная формула была бы: высота поля = (высота строки)*(количество строк)+(межстрочный отступ)*(количество строк-1). Ну так сами и доведём до этой формулы: Код:
_txt.autoSize = "left"; |
| Часовой пояс GMT +4, время: 20:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.