Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   изменение размеров embedFonts (http://www.flasher.ru/forum/showthread.php?t=193317)

KokoZzz 25.01.2013 16:30

изменение размеров embedFonts
 
Вложений: 1
проблема такова:
у меня имеется спрайт в котором лежит текстфилд. спрайт может изменять свои размеры. при изменении размеров спрайта width/scaleX или height/scaleY изменяются размеры текстфилда, НО шрифт тоже скейлится!!!

адоб утверждает, что шрифт не будет скейлиться:
Цитата:

Объекты TextField являются исключением из этого поведения при масштабировании. Текстовые поля должны изменять свой размер, чтобы вместить перенос текста и размеры шрифта, поэтому после изменения размеров они сбрасывают свои значения scaleX и scaleY до единицы. Однако при изменении значений scaleX или scaleY объекта TextField значения width и height (ширина и высота) также изменяются, чтобы применить заданные значения масштабирования.
встроенные шрифты действительно не скейлятся.

вот так я добавляю шрифт:
Код AS3:

[Embed(source="assets/sb_fonts/FedraSansPro-DemiLF.otf", 
                                        fontName="FedraSansPro", fontWeight="bold",
                                        embedAsCFF="false", fontStyle="normal", advancedAntiAliasing="true",
                                        mimeType="application/x-font-opentype")]
                        protected static var FedraSansPro:Class;

Код AS3:

this.textFormat.font = "FedraSansPro";
this.setTextFormat(textFormat);

вот что получаю:

iflamberg 25.01.2013 16:53

Если вы будете изменять размеры текстового поля, скажем, программно, используя width, height, то они не будут масштабироваться. Но вы масштабируете родительский спрайт, естественно, искажения накладываются на все подчиненные ему элементы. Не вкладывайте текстовое поле в масштабируемый спрайт, накладывайте его сверху, программно изменяйте ширину/высоту и x,y координаты, когда они меняются у "задника".

strangedk 25.01.2013 16:59

iflamberg, кстати сразу дал ответ и на вопрос в соседней теме

KokoZzz 25.01.2013 17:04

дело в том, что тот же Arial себя ведет великолепно.
следовательно, я делаю вывод, что надо что то где то подправить, чтобы заработало как надо.

iflamberg 25.01.2013 17:09

Ваш Arial ведет себя не "великолепно", а глючит. Небось потому что вы его не внедряете, а используете системный. Потому что у меня он себя "великолепно" не ведет.

KokoZzz 25.01.2013 17:19

представьте, у меня есть окно, в этом окне имеется n-ое количество карточек. на каждой карточке имеется m-ое количество значений. структура получается следующая: окно - контейнер - карточка - контейнер - значение.
это окно может изменять свои размеры не пропорционально. допустим, графические объекты скейлятся верно, но текст плывет!

п.с. к слову, это все было написано раньше при помощи флекса и люто тормозило и работало. теперь все летает, но плывет.

iflamberg 25.01.2013 17:24

Вот оно "было написано раньше при помощи флекса и люто тормозило и работало" потому что, как я посоветовал "накладывайте его сверху, программно изменяйте ширину/высоту и x,y координаты, когда они меняются у "задника". А вы об этом просто даже не задумывались, потому что у всех flex-компонентов очень круто все width, height и прочие переопределены.

KokoZzz 28.01.2013 18:38

2 iflamberg
спасибо, был не прав =)


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

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