Flash Pro - встроенный шрифт AS3 не отображается на ярлыке кнопки в iOS

Итак, у меня есть неприятная проблема, которую я не могу решить. Я создаю приложение во Flash Pro / AS3 для iOS. У меня есть кнопка, шрифт метки которой я хочу изменить:

var ButtonTextFormat:TextFormat = new TextFormat("Showcard Gothic", 120);
//ButtonTextFormat.size         = 120;
//ButtonTextFormat.font         = "Showcard Gothic";
//ButtonTextFormat.embedFonts           = true;
ButtonTextFormat.color          = 0x00FF00;
//ButtonTextFormat.embedFonts = true;
SMButton.label                  = "PUSHME!";
SMButton.setStyle("textFormat", ButtonTextFormat);

Я просто использовал стандартную кнопку на панели инструментов компонентов во Flash. Он отображается правильно во время отладки, но после загрузки в iPhone метка изменяется на шрифт по умолчанию.

Я вставил нужный шрифт через Text>Font Embedding..., и он работает для текстового поля, которое у меня есть, но почему не метка кнопки?

Я пробовал ButtonTextFormat.embedFonts = true;, но получаю сообщение об ошибке:

1119: Access of possibly undefined property embedFonts through a reference with static type flash.text:TextFormat.

Любая помощь будет оценена. Спасибо.


person Erasmo Morales    schedule 04.06.2015    source источник
comment
Эти компоненты не предназначены для использования на мобильных устройствах.   -  person BotMaster    schedule 04.06.2015
comment
И все же они работают. по крайней мере, для быстрого прототипирования. Я хотел бы решить проблему сейчас, если я столкнусь с ней позже.   -  person Erasmo Morales    schedule 04.06.2015


Ответы (2)


Свойство embedFonts предназначено для класса TextField, а не для класса TextFormat.

Следуйте этим инструкциям, чтобы правильно встроить и использовать встроенный шрифт. Встраивание шрифтов для компонентов в Flash

person Delcasda    schedule 04.06.2015

Недавно у меня была такая же проблема. Для компонентов вы должны установить embedFonts с помощью метода .setStyle ().

SMButton.setStyle("fontFamily", "Showcard Gothic");
SMButton.setStyle("embedFonts", true);

Во Flash IDE вам может потребоваться добавить шрифт в библиотеку, а затем выполнить экспорт для ActionScript. Например, имя класса «TreasureMapDeadhand».

Затем в вашем классе документа:

import flash.text.Font;

Font.registerFont(TreasureMapDeadhand);

Другой вариант, если вы связываете свой шрифт несколько раз, хотя и не обязательно, - это сохранить шрифт в общедоступной переменной var.

public var f:Font = new TreasureMapDeadhand();

SMButton.setStyle("fontFamily", f.fontName);
SMButton.setStyle("embedFonts", true);

В любом случае, я надеюсь, что это поможет!

person Solarcloud    schedule 11.12.2015