![]() |
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 У меня просто недавно возникла необходимость добавить текстовое поле с готовым шрифтом, а безбиблиотечной реализации (я "фанат" старлинга и там это есть) не оказалось. А то что нашел было слишком масштабным. В итоге пришлось делать свою реализацию отрисовки, но она не гибкая, расчитанная только "на один раз", поэтому стало интересно узнать насчет вашего способа отрисовки текста |
KumoKairo, Хм, прикольно. То есть - это единое изображение, но благодаря некоторому алгоритму, из него можно брать нужные буквы-фрагменты и формировать из временного массива текст. Если я всё правильно понимаю.
У меня была похожая идея, но делать не алфавит, а просто заготовить надписи в фотошопе, и в виде картинок их помещать на стэйдж. Она появилась потому что тема внедрения шрифтов весьма муторная. |
Согласен с caseyryan, плюс кое-что добавил
Код AS3:
|
Fogflasher, у каждого шрифта есть файл-спрайт лист и файл дескриптор в формате XML (расширение .fnt)
http://www.angelcode.com/products/bmfont/ |
KumoKairo, зачотно, узнаю много нового.
Скачал бмп-фонт, посмотрел. В целом вроде бы идея понятна. Формируется картинка, и посредством кода, который я должен написать сам, я буду вытаскивать нужный фрагмент картинки, опираясь на xml-файл. Но конешно такую программу навскидку не напишешь, тут нужно перечитывать мука про xml, например. Старлинг тоже скачал. Открыл, но там... хренова туча непонятных файлов, как-будто для Линукса каково-нибудь. Как с ним работать и как внедрять во Флэш например, не понятно нихрена : ) Хотя в форуме или в документациях еще не искал ничего. Вроде бы это всё как-то связано с неким Stage3D, кое слово мне тоже тут встречалось. |
Код AS3:
|
| Часовой пояс GMT +4, время: 22:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.