2012-01-17 3 views
1

単一のSWFにフォントを埋め込んで他の多くのSWFで使用することは可能ですが、それらのSWFのFlash IDEを通してすべてのテキスト配置と設定を行うことはできますか?多くのSWF、単一のフォントが埋め込まれていて、Actionscriptでテキストフィールドを作成しないでください。

外部のSWFからフォントを取得して登録し、新しいTextFieldで使用できることがわかっています。しかし、コード内にすべてのテキストフィールドを作成する必要がなければ、いいですね。新しくながら、オリジナルのテキストフィールドには、何も表示されません

Font.registerFont(); 

:たとえば、次はそれにフォントを持っているSWFにロードし、そのフォントの名前を使用して、以下を呼び出した後

です元のフォーマットを使用して1つ作成すると、完璧にうまく表示されます。

 var format:TextFormat = onStageTextField.getTextFormat(); 

     onStageTextField.embedFonts = true; 
     onStageTextField.defaultTextFormat = format; 
     onStageTextField.text = "My Text"; 

     var newTextField:TextField = new TextField(); 
     newTextField.width = 300; 
     newTextField.embedFonts = true; 
     newTextField.defaultTextFormat = format; 
     newTextField.text = "My Text"; 
     contentMC.addChild(newTextField); 

答えて

1

私の主な質問に対する簡単な答えは「いいえ」です。フォントやコードをIDEに埋め込む方法はありますが、あなたのようにハイブリッドなアプローチをする方法はわかりません。

別のアプローチ:

あなたの主なFLAには、あなたが、スタイルを再利用し、IDEに組み込みたい(テキストフィールドのまたはグループ)テキストフィールドの各スタイルを保持するムービークリップを作成します。子のTextFieldに「txt」のような名前を付けます。 MCsリンケージIDを与えます。子SWFをロードするときに、flash.utils.getDefinitionByName()を使用して表示する必要のあるテキストフィールドのMCのインスタンスを&に追加します。 myMC.txt.text = "my text"のように、各インスタンスのテキストを更新します。

上記は、多くの分野の動的テキストでうまくいくはずです。あなたが「テキスト編成」と言うとき、あなたはラインブレーク調整について話していますか?

+0

申し訳ありませんが、あなたの例は、コードでテキストフィールドを手動で作成するのとほぼ同じです。私が望むのは、IDEにテキストフィールドを置くことができるだけですが、各コンテンツSWFに埋め込みファイルのファイルサイズを含める必要はありません。どこにでもフォントを埋め込まないようにする必要があるようです。私は新しいフィールドを作成するときにそれがちょうどいいので、フォントがプレーヤーに利用可能であることを知っています。今では、そのフォントを使用するために、(同じ形式の)ステージ上のフィールドをどのように教えていますか? – Dustin

関連する問題