Встроенные шрифты не отображаются в текстовых полях, созданных скриптом ActionScript

Я хотел бы предварить эту стену текста, сказав, что я очень новичок в этом. Я могу упустить что-то очевидное.

Я работаю во Flash CS5 с Actionscript 3. Я пытаюсь использовать actionscript для создания текстового поля и заполнения его текстом. Я встроил свой шрифт в свой проект, используя окно «Внедрение шрифта». Однако при запуске кода для создания текстового поля, если "embedFont = true;", шрифт невидим. Курсор все еще меняется при наведении на него, поэтому я знаю, что он там. Или, по крайней мере, его текстовое поле, я думаю. Динамические текстовые поля со встроенным текстом, которые уже находятся на сцене, похоже, не затрагиваются.

Я пытался изменить формат контура встроенных шрифтов, но ничего не получилось. Я пытался напрямую встроить шрифт с тегом «вставить» с помощью скрипта действий, но, похоже, это не работает с CS5, или я не знаю, что делаю. Как видно из предоставленного кода, я безуспешно пытался «зарегистрировать» шрифт. Я пробовал использовать:

var font:Font = new screenfont(); //"screenfont" is the name from Embedding Fonts    

var format:TextFormat = new TextFormat();

format.font = screenfont.fontName;

Нет кубиков.

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

Вот простая версия моего кода, где «screenfont» — это имя, которое я указал в окне Embedding Fonts:

Font.registerFont(screenfont);

            //TextFormat
var listformat:TextFormat = new TextFormat();

listformat.align = TextFormatAlign.LEFT;
listformat.size = 20.8;
listformat.color = 0x0DAC54;
listformat.font="Fixedsys Excelsior 3.01";


           //TextField
var photolist:TextField = new TextField();
    photolist.x = photos_x;
    photolist.y = tempY;
    photolist.width = photos_wdth;
    photolist.height = photos_hght;
    photolist.text = photoname;

    photolist.embedFonts = true; //<--- This freakin' guy!

    photolist.antiAliasType = AntiAliasType.ADVANCED;
    photolist.defaultTextFormat=listformat;
    photolist.selectable = false;
    photolist.wordWrap =  true;

    mediapage.photos.addChild(photolist);

Надеюсь, это дает ясную картину.

Итак, как именно выполняется встраивание в CS5?

5
задан TeaCake 22 March 2012 в 03:07
поделиться