2015-06-04 1 views
1

Так что у меня есть раздражающая проблема, которую я не могу решить. Я создаю приложение в 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); 

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

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

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

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

Любая помощь будет оценена. Благодарю.

+0

Эти компоненты не предназначены для использования на мобильных устройствах. – BotMaster

+0

Но они работают. по крайней мере, для быстрого прототипирования. Я бы хотел решить проблему теперь, если я натолкнулся на нее позже. –

ответ

0

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

Следуйте инструкциям этой встраивать и использовать шрифт правильно поместить его Embedding Fonts for Components in Flash

0

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

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

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

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

import flash.text.Font; 

Font.registerFont(TreasureMapDeadhand); 

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

public var f:Font = new TreasureMapDeadhand(); 

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

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