2010-09-15 5 views
0

J'ai une main.fla, dans la bibliothèque, j'ai créé deux nouvelles polices: RegularFont et BoldFont.Utilisation de polices partagées importées dans flash as3 css

Et j'ai trouvé le morceau de code suivant quelque part, qui fonctionne bien!

var regularFont:Font = new RegularFont(); 
var boldFont:Font = new BoldFont(); 
var regular:Object = {fontFamily:regularFont.fontName}; 
var bold:Object = {fontFamily:boldFont.fontName}; 

var ss:StyleSheet = new StyleSheet(); 
ss.setStyle(".bold", bold); 
ss.setStyle(".regular", regular); 

testFld.embedFonts = true; 
testFld.styleSheet = ss; 
testFld.htmlText = "<span class='regular'>testing </span><span class='bold'>123</span>"; 

// I can see the embedded regular font and bold font in a same dynamic html textfield correctly. 

BUTTTTTTTTTTTTTTTTTTTTTT

Dans ma mise en œuvre effective du projet, je dois accueillir les polices hébergées dans un autre swf. Donc, je simplement modifié ainsi:

Au lieu de déclarer une nouvelle police le dans le main.fla, je le BIGFONT et importé d'un autre RegularFont fonts.swf (polices de caractères dynamiques de partage)

VIENNENT ICI LE PROBLÈME, CES DEUX LIGNES dE PREPARER WONT

var regularFont:Font = new RegularFont(); 
var boldFont:Font = new BoldFont(); 

IDE flash est de lancer cette erreur: 1180: Appel à une méthode RegularFont éventuellement définie.

WHYYYYYYYYYYYYYYYYYYYY?

Répondre

0

car vous n'avez probablement plus défini RegularFont ou BoldFont dans le compilateur. vous devez extraire les classes de l'autre swf, comme ceci:

font SWF