• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MCの中のダイナミックテキストのautoSizeをtureで、TextFormatのunderlineが効かない)

MCのダイナミックテキストでunderlineが効かない問題とその対処法

このQ&Aのポイント
  • MCの中のダイナミックテキストでunderlineが効かない問題について説明します。
  • autoSizeをtrueに設定するとunderlineが無効になるため、回避する方法としては、txt_mc.txt._widthを設定してサイズを調整することができます。
  • ただし、txt_fmt.getTextExtentでサイズを取得する際に正確な値が取得できないことがあります。フォントを_Gothicに設定することで改善する可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

つまり, ご質問にあるようにスクリプトを書いても, また, ---------------------------------- txt_mc.txt.autoSize = "left"; txt_fmt = new TextFormat(); with (txt_fmt) { font = "_ゴシック"; underline = true; color = 0xff0000; } txt_mc.txt.text = "あいうえおかきくけこさしすせそ"; txt_mc.txt.setTextFormat(txt_fmt); --------------------------------- このように font = "_ゴシック"; を入れても, アンダーラインが付かないということですか…。 よくわかりません。 良くわからないので,mixiではレスが付かなかったのかもしれません。 どう,よくわからないのかと言うと, 私の環境ではアンダーラインが "付く" のです。 スクリプトはどっちにしても付きますし, SWF を Flash Player 8 用にパブリッシュしても, Flash Player 7 用にパブリッシュしても付きます。 また, Flash Player 7 用にパブリッシュした SWF を Flash Player 7 で開いても, Flash Player 8 で開いても, また ブラウザプラグインの Flash Player 9 で開いても, 赤い字の あいうえおかきくけこさしすせそ の下に, アンダーラインがちゃんと付きます。 私が見たところ,違いは OS のみです。 OSX と WindowsXP です。 私は Mac を持っていないので検証できません。 Mac版 Flash 8 がおかしいのか,Mac版 Flash Player 7 がおかしいのか, また,ぜんぜん違うシステム的なものに原因があるのかがよくわかりません。 私が節穴の目で探したところ, Adobe サイトでは,そういう不具合報告が見つかりませんでした。 Mac では ダイナミックテキスト及びテキスト入力のテキストフィールドに,カーニングが効かないという報告はありましたが。 ======================== 解決策ではなく, 代替案としては,ダイナミックテキストを HTML でレンダリングにして, HTML のタグでアンダーラインを付けるという方法はいかかでしょうか? ---具体例--- -------------------------------------------- txt_mc.txt.autoSize = "left"; txt_mc.txt.html = true; txt_mc.txt.htmlText = "<font face=\"_ゴシック\" color=\"#FF0000\"><u>あいうえおかきくけこさしすせそ</u></font>"; -------------------------------------------- これも,Mac ではダメな可能性もありますが, 一応私の環境では OK でした。

kakekake_07
質問者

お礼

回答どうもありがとうございました。 成功するというのが確認出来ましたので、現象をしぼっていくと、 フォントの大きさによって出る出ないがありました。(私は_ゴシックの10ptで試していました) そこでテキストフィールドの書式オプションの行間を増やす事によって、無事にアンダーラインが表示される様になりました。(OSX Flash8は-1がデフォルト?) どうもありがとうございました。

その他の回答 (1)

noname#35109
noname#35109
回答No.2

#1です。 問題は解決されたようですが, 環境問題は重要だと考えましたので,補足いたします。 > (私は_ゴシックの10ptで試していました) Windows環境では, デフォルトの状態では, 10pt にしてもアンダーラインは表示されました。 > 書式オプションの行間を増やす事によって、 > 無事にアンダーラインが表示される様になりました。 > (OSX Flash8は-1がデフォルト?) その,「Flash8は-1がデフォルト」 と書かれているのは, テキストフィールドを選択した状態で, 下のプロパティインスペクタにある,「書式オプションの選択」(Pみたいな形の)ボタンを押したときに出てくる, 「フォーマットオプション」ダイアログでの,  行間:[       ] v となっている部分のことですよね。 Windows版でのデフォルトは 2pt です。 つまり,  行間:[2pt      ] v です。 この 2pt はバージョンに関わらず昔から(おそらく Flash 2 や 3 の頃から(少なくとも Flash 4 では)) 2pt です。 試しに, -1pt にしてパブリッシュしてみましたら, 質問者さまがおっしゃるように,みごと ”アンダーバーが消えました!” 。 ここは,0pt 以上の方が良さそうですね。 という補足でした。

関連するQ&A