いたストDS 待ち合わせ場所
カルドDS 待ち合わせ場所最近のFlash作成はFlexSDKを利用してFlashDevelopで開発しているのですが、このようにActionScriptのみ開発している場合のフォントの埋め込む方法の覚え書きです。
今回 zk designさんの所の記事を参考にしました。
最初はフォントファイルをそのまま埋め込んで利用しようかと思ったのですが、現在作っているのがカレンダーで必要な文字は”月火水木金土日年”と数字のみだったので、別途必要な文字のみを埋め込んでいるSWFを利用する方法を取りました。
以下ほとんど参考記事と同じですが、埋め込み手順です。
まずフォントを埋め込んだSWFの準備から
1.Flash8(以降のバージョンならOK)を立ち上げてダイナミックテキストフィールドを設置
2.テキストフィールドのプロパティで使用したいフォントを指定と埋め込みたい文字を"埋め込み"のところから指定する。(今回は"MS Pゴシック"を指定)
3.SWFを書き出す。(今回は"myFont.swf"としました)
もし埋め込みたいフォントを「ボールド」や「イタリック」などのスタイルを指定したい場合はさらにテキストフィールドを設置してそれぞれスタイルを指定してから書き出します。
つぎはActionScriptで上でのSWFの埋め込みです。
埋め込みはこれで完了です。sourceのパスですが、FlashDevelop(3.0.0beta9)での開発の場合はメインのasファイルのあるsrcフォルダとなっているのでasファイルと一緒に入れておけばOKです。 2行目のクラス指定した名前は使いませんので何でもOKです。でも無いと動きません(笑[Embed(source="myFont.swf", fontName="MS Pゴシック")]
public static var fontPlain:Class;
実際の使い方はテキストフィールドで「embedFonts」プロパティをtrueにして、フォントを上記の「fontName」で指定したものにすれば使うことができます。
以下は実際にカレンダーを作成するとき曜日を並べて表示した場合の例です。
var youbiArray:Array = new Array("日", "月", "火", "水", "木", "金", "土");
var youbiFMT:TextFormat = new TextFormat("MS Pゴシック", 12, 0x333333);
for (var i:uint = 0; i < 7; i++) {
var youbiTf:TextField = new TextField();
youbiTf.embedFonts = true;
youbiTf.text = youbiArray[i];
youbiTf.width = 18;
youbiFMT.align = "center";
youbiTf.setTextFormat(youbiFMT);
youbiTf.x = i * 18;
addChild(youbiTf);
}
となります。
参考にさせて頂いたzk designさんありがとうございました。
Category:[Flash]
2008,11,27
| CM (0)
| TB (0)
| wrote by Masa
