Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   autoSize "center" обрубает заднюю часть динамического текстового поля (http://www.flasher.ru/forum/showthread.php?t=103575)

Pecher 08.11.2007 00:02

autoSize "center" обрубает заднюю часть динамического текстового поля
 
Есть динамическое текстовое поле, лежащее внутри клипа.
Если ему ставить автосайз центр, то его правая часть немного обрезается (1-2 пикселя). Что самое интересное - если в контекстном меню плеера это дело увеличить - уже ниче не обрезается, а вернуться опять к 100% - опять обрезается.
Ещё заметки:
1) если этот клип перемещать, то в других координатах он уже не обрезается, при возвращении - опять обрезается.
2) если делать автосайз лефт и райт, то проблемы вроде бы не наблюдается.
Но надо именно выравнивание по центру. Без обрезания :)
Кто может помочь?

cherno_belaya 08.11.2007 00:37

попробуйте TextField._quality

Mnilionic 08.11.2007 00:40

если одна строка поставь пробелы по краям

iNils 08.11.2007 00:48

Вообщето, надо примеры выкладывать.

wvxvw 08.11.2007 13:24

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

Pecher 08.11.2007 14:48

>если одна строка поставь пробелы по краям
не помогают пробелы
>я думаю, что проблема в целых числах (координатах)
я тоже так думал, поэтому делал округление (_x = Math.round(_x)) и для текстового поля, и для содержащего его клипа, до и после установки автосайз. Не помогает. Точнее изменения были в лучшую сторону, но полностью эффект не уходил.
_quality щас попробую.

etc 08.11.2007 14:53

Надо использовать TextFormat с align, а не autoSize.

Pecher 08.11.2007 14:59

А чем автосайз не катит?
Я попробую алигн, но всё-таки, отчего автосайз в немилости?

etc 08.11.2007 15:43

Да много от чего, обрезается поле больше, чем нужно, вероятно из-за не очень корректного получения ширины отформатированного текста.
Если нужно сделать выравнивание по центру, то для этого есть соответствующий инструмент, но никак не autoSize. В случае с align подобных проблем не будет.

Pecher 08.11.2007 15:50

Я думал, что автосайз как раз и есть подходящий инструмент :) Или он задумывался разработчиками для инпут-полей? Если да, то такое обрубание можно объяснить тем, что у инпутов сзади еще присутствует небольшая пустая часть. Уже сталкивался...

Pecher 08.11.2007 16:55

Первые попытки с ТекстФормат.алигн закончились неудачей :(
Будем искать...

etc 08.11.2007 17:15

autoSize должен быть выключен.

Pecher 08.11.2007 17:20

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

etc 08.11.2007 17:30

autoSize вообще трогать не надо.

Pecher 09.11.2007 03:30

В общем, попробовал чистый алигн. Нормально работает, если текст в текстовом поле вмещается. А если текста больше - он просто не вписывается. Изменение _width не даёт эффекта.
Потом попробовал одну из своих задумок: сделал всё как раньше, только тип поставил не динамик, а инпут. Заработало!

Прошу прощенья, _width не в том месте использовал. Но мне не удобно использовать таким образом.
В общем, выводы такие: если есть такая проблема решаем одним из способов:
1) делаем поле не динамик, а инпут и перекрываем ему события мыши (либо enabled, либо, как у меня, верхний клип получает события)
2) либо используем
Код:

tFormat.align="center";
...
x_txt.text = "...";
x_txt.setTextFormat(tFormat);
x_txt._width = x_txt.textWidth + 5;


etc 09.11.2007 04:15

Можно сделать автосайз с центром, получить ширину, выключить автосайз, задать align, задать сохраненную ширину+«чтобы не косячило».

iNils 09.11.2007 04:26

Меня поражает упрямство Pecher в вопросе предоставления примера с проблемой.
Воссоздать проблему у меня не получается.

Pecher 09.11.2007 06:06

В следующий раз буду делать пример ;)


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

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