for CS4の最近のブログ記事


■Flash CS4 で embedFonts が効かないバグ
http://blog.cellfusion.jp/archives/669/

同じ悩みでしたが、下記で解決しました。

■解決策みっけ!
http://friendfeed.com/ikedahidenori/43ff0572/cellfusion-blog-flash-cs4-embedfonts

曰く
『環境設定からフォントメニューを英字表記のチェックボックスをオンにして、フォント名の指定を英字で指定すれば解決。』

■ところですべてのフォントを英字表記できるんでしょうかね?

今回ためしに「ふい字」を使ってみましたが、そもそも英字表記は

FUI?FUIJI?fui?・・・Fonts一覧で見ても、ファイル名「HUIFONT29.TTF」なんですが・・・

で結局正解は「HuiFont」

そうこうしていると下記を見つけました
(あ!いつもお世話になっている「AS3入門ノート」の作者大重さんのサイトです)

http://oshige.com/flash/as3note_cs4/2009/10/post-62.html

曰く
『フォントを設定したテキストフィールドを選択した状態でコマンドメニューの[ActionScript用にフォント名をコピー]を実行します。あとはテキ ストエディタにペーストするだけです。』

■『英字表記のチェックボックスをオン』にするとフォント一覧が英字表現に・・・これは見辛い

ちなみに英字表記のチェックボックスをオフのままでフォント指定を英字でやれば問題ない。


■まとめ:CS4で
embedFonts=trueを使用する場合
(途中確認しながら書いたので整理されてなくて申し訳ないです。)

  ・CS4 で 
textformatのfontは英字を使用する。
    (かなカタカナ漢字は使用しない)

  ・フォントの英字は
    [コマンドメニュー]の[
ActionScript用にフォント名をコピー]&ペースト。


例)「ふい字」フォントを埋め込み表示する場合(詳しい埋め込み方法は検索してください)

var textformat:TextFormat = new TextFormat();
//textformat.font="ふい字";
textformat.font="HuiFont";
textformat.size=40;
textformat.color=0xff0000;

var textfield:TextField = new TextField();
textfield.type=TextFieldType.DYNAMIC;
textfield.autoSize=TextFieldAutoSize.LEFT;
textfield.embedFonts=true;
textfield.defaultTextFormat=textformat;
textfield.text="あいうえお";
addChild(textfield);

単純に『上位互換』だと思ってましたが、どうもそうでは無さそうなので記載しときます。

■前提条件
 [FP08]・・・パブリッシュ設定:FlashPlayer8, Actionscript 2.0 のFLASH(swf)
 [FP09]・・・パブリッシュ設定:FlashPlayer9, Actionscript 3.0 のFLASH(swf)
 [FP10]・・・パブリッシュ設定:FlashPlayer10, Actionscript 3.0 のFLASH(swf)
                 (FlashPlayer10特有の3Dなどのクラスを使用)
  ※すべてにダイナミックテキストを使用してテキストを表示

■実験
 1)[FP08]に[FP08][FP09][FP10]を読み込み
 2)[FP09]に[FP08][FP09][FP10]を読み込み
 3)[FP10]に[FP08][FP09][FP10]を読み込み

■結果
 1)予想どおり、[FP09][FP10]は動作せず。
 2)予想どおり、[FP10]は動作不良。
   予想外に、[FP09]も動作不良。
    [FP10]のエラーが同じActionscript3.0の[FP09]にも影響しているようだ。
    [FP10]を読み込ませないようにすると正常に動作する。
   さらに、[FP08]も動作不良。
    ダイナミックテキストで、変数で定義していたものを
    テキストフィールドのtextプロパティとして与えると正常に動作する。
 3)予想通り、すべて正常に動作。([FP08]は上記と同様textプロパティを使用)

■結論:バージョンの異なるFlash(swf)に読み込むことを前提に制作する場合

  1)Actionscript1.0または2.0のダイナミックテキストは
        変数ではなくtextプロパティで指定する。
    (これはActionscript3.0と同じ方法なのが良いのかと思われる。
          他にも考慮すべき点はあるかもしれない。)

  2)当然のことですが下位に上位のFlash(swf)を読み込むのは避ける。
    (読み込んだFlash自体が動作しないだけではすまない場合がある。)

Actionscript3.0でプログラミング中に暴走発生。
いろいろ調べて、結局下記の様に型式を uint から int にして解決しました。
う~ん uint って0以上の整数のはずなんだけど・・・何か認識が違うのか?
----------------------------------------------------------------
/*
//暴走注意!!
var i:uint=0;
var i_max:uint=10;
for (i=i_max; i>=0; i--) {
    trace(i);
}
*/
//問題解決
var i:int=0;
var i_max:int=10;
for (i=i_max; i>=0; i--) {
    trace(i);
}
----------------------------------------------------------------

Flash Parts for AS123

Powered by Movable Type 5.01

2010年2月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

このアーカイブについて

このページには、過去に書かれたブログ記事のうちfor CS4カテゴリに属しているものが含まれています。

前のカテゴリはfor CS3です。

次のカテゴリはfor Flash8です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。