[AS]FlashPlayer10ではTestFieldにアルファ処理可能、あとFlashPlayer9でのフォントの埋め込み方法の詳細
CS4のデフォルト書き出しはFP10です。
FP9まではダイナミックテキストにアルファ処理はフォント埋め込まないと無理でしたが、FP10からはフォント埋め込まなくてできるみたい。
//FP10用 var tf:TextField = new TextField(); tf.text = "TEST"; addChild(tf); tf.alpha = 0.1;
FP9での書き出しでは聞きません。
FP9の場合(フォント埋め込み後)
//FP9用 var tfm:TextFormat = new TextFormat(); tfm.font="HGSMinchoE"; var tf:TextField = new TextField(); tf.embedFonts=true; tf.defaultTextFormat=tfm; tf.text="あいうえお"; addChild(tf); tf.alpha = 0.1
フォントの埋め込みはライブラリに埋め込んでないとだめみたいです。
ググるとtipsがたくさんありましたが、意外とはまったので書いときます。
ライブラリの右上のオプションボタンから「新しいフォント…」を選択
好きなフォントを選びます。
上の例では、HGS明朝Eをえらんでます。
リンケージのActionScript用に書き出しにチェック。
このときクラス名はなんでもいいです。(空手バカとかでもOK)
この埋め込んだフォントをASでどう設定するかというところで悩みました。
具体的には↓で設定してるのですが、
tfm.font="HGSMinchoE";
で、”HGSMinchoE”はなんぞや、という感じですが、これがHGS明朝Eのこと。
ボクはここを↓のようにやっていてできませんでした。
//だめな例 tfm.font="HGS明朝E";
ではHGS明朝E→HGSMinchoE、これをどうしらべるかですが。
trick7さんのとこの記事に調べ方がありました。
AS3 フォントリスト取得&確認用コード
これでライブラリ上で埋め込んであるフォントの名前がわかりました。
※2010/06/26追記
フォント名は文字列ではなく、FontクラスのfontNameプロパティを参照した方が安全。
//フォントにリンケージで指定したクラス名がMyFontだった場合 var myFont:Font = new MyFont(); var tfm:TextFormate = new TextFormat(); tfm.font = myFont.fontName;//これでフォント名が指定できる
Tweet