Я хотел бы предварить эту стену текста, сказав, что я очень новичок в этом. Я могу упустить что-то очевидное.
Я работаю во 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?