![]() |
TextField: размещение в центр Stage.
Всем лукошечко с черникой.
Еще один базовый вопрос. Необходимо разместить TextField в самый центр Stage, с учетом того, что его длина может быть произвольной. Как это сделать? Я через поиск посмотрел, но навскидку конкретного поста не увидел. В близком по смыслу посту, in4core предлагал формулу центровки для мувиклипа, с учетом длины и ширины. По этой аналогии, я предположил, что со стэйджем должно быть примерно так: Код AS3:
Я решил посчитать, что же произошло. Stage.width = 640, Stage.height = 480 text1.width = 124, text.height = 80 Итого, по формуле получаем: text1.x = 258, text1.y = 200. Если на глаз прикинуть, то вроде бы это верные координаты. Но только, если x и y TextField размещаются в левом верхнем углу. Но судя по всему это не так, и наверное на самом деле они отмечают центр TextField? В хэлпе Адоуб вроде бы не сказано откуда именно отсчитывать x и y TextField. |
У stage есть свойства stageWidth и stageHeight.
Вот их и надо использовать Код AS3:
|
Вложений: 1
caseyryan, да, stageWidth, блин точно, спасибо.
Однако в таком варианте имеется перекос: теперь x и y текстфилда вроде бы находятся в центре... Но тогда получается так: Вложение 29828 В формулу нужна поправка похоже. Может быть еще влияют другие параметры? Например есть: textFormat'овское свойство: - align = TextFormatAlign.LEFT; textField'овские свойства: - autoSize = TextFieldAutoSize.LEFT; - multiline = true; - wordWrap = false; |
Текст присваивается до или после центрирования?
|
Deimos747, До.
Сейчас вот сделал - после. Он еще ниже в правый угол ушел, лол. Странно, почему это влияет..? Значит надо играцца с всякими алигнами, наверное. UPD: Переместил строки: Код AS3:
|
По-моему если поставить autoSize в TextFieldAutoSize.CENTER; и поправлять координаты после каждого изменения текста, то должно быть норм
Оффтопик: у вас растровый шрифт? Не поделитесь своим способом реализации на нативном флеше? |
KumoKairo, странно дело, если TextFieldAutoSize.CENTER поставить, и переместить форматирование обратно (в докоординатное положение), то текст центрируется по ширине правильно, но смещен в нижний угол.
Насчет шрифта, это Rokwell Extra Bold, OpenType-овский шрифт. Я не знаю что означает "растровый" в применении к шрифтам? Способ реализации прост: основной файл (координаты + текст) + класс текста (базовые настройки) + класс формата (там только цвет и имя шрифта) + класс фильтров (настройки фильтров). Если нужен код класса фильтров, могу запостить его здесь. |
А, ясно
Нет, я думал у вас BitmapFont из спрайт листа, спасибо :) |
KumoKairo, да незачто.
Ээ, а что такое "BitmapFont из спрайт листа" ? Можно хотя бы в паре слов, что это - техника вывода текста, юзая чисто графику? Было бы полезно, если я это себе правильно представляю. Типа не юзать шрифты, не внедрять их. |
Вложений: 1
BitmapFont это набор всевозможных требуемых приложением символов, которые заранее отрисованы с применением необходимых стилей, фильтров и т.д., собранных в виде одного изображения (которое по идее отправляется в виде текстуры на графическую карту)
Поскольку мобильные приложения с векторной графикой не очень дружат, для мобильников этот процесс отлажен просто до упора :) Вот например: Вложение 29829 У меня просто недавно возникла необходимость добавить текстовое поле с готовым шрифтом, а безбиблиотечной реализации (я "фанат" старлинга и там это есть) не оказалось. А то что нашел было слишком масштабным. В итоге пришлось делать свою реализацию отрисовки, но она не гибкая, расчитанная только "на один раз", поэтому стало интересно узнать насчет вашего способа отрисовки текста |
| Часовой пояс GMT +4, время: 21:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.