PDA

Просмотр полной версии : прозрачный текст со шрифтом, задаваемым юзером


Minras
08.09.2008, 21:06
есть кастомный компонент msgBox />
внутри компонента используется такая штука:

<mx:Style>
.cFont {
fontFamily: cFont;
fontSize: 16pt;
}
</mx:Style>
...
[Embed(systemFont="Arial",
fontName="cFont",
mimeType='application/x-font'
)]
private var font1:Class;
...
<mx:Text styleName="msgBoxFontArial" text="{text}" alpha="0.5" />

таким образом к тексту применяется сисnемный шрифт Arial и текст можно делать прозрачным или применять к нему Fade.

хочется, чтобы пользователь в настройках компонента мог передать параметром имя системного шрифта, которым бы отображался текст, например так:
<custom:msgBox newFont="Times New Roman" />
проблема в том, что параметры, передаваемые в компонент доступны после наступления события creationComplete, а шрифты эмбедятся до этого события.

можно ли каким-то образом получать в виде параметра компонента имя шрифта и эмбедить этот шрифт?

JesterAntik
09.09.2008, 18:57
любые элементы эмбедятся не на уровне загрузки приложения в браузер, а на этопе компиляции, поэтому эмбэд уже не получится сдеать никак.

Minras
09.09.2008, 19:14
JesterAntik, спасибо за ответ.

неужели нет какого-нибудь хака? эта проблема с эмбедом шрифтов тянется с первого AS :)

пс: в реальном проекте я сделал вариант без фэйдинга, но интересно, блин.