• ベストアンサー

flash MX でのテキストフィールドの色変更

ダイナミックテキストフィードのパラメータで文字色を変更できても背景色が変更できませんが、背景色を白以外に変更する方法はないのでしょうか? (テキストフィールドにはLoadVarsオブジェクトを使ってTEXTファイルを表示します。)

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

ActionScript には、テキストフィールドインスタンスを操作する TextField というオブジェクトが用意されています。 この中の background と backgroundColor プロパティを利用して、背景色を設定できます。 編集画面で、テキストフィールドの「ボーダー」(テキストフィールドの外枠)ボタンをオフにすると、背景色は透明(背景なし)になります。 TextField.background は背景の有無に関するプロパティ( true:背景あり、false:背景なし)です。編集画面で「ボーダー」のボタンをオフ(=外枠・背景なし)にしていても、background を true にすると、背景ありに変更できます。 背景色は backgroundColor で取得・設定できます。色は、HTML やグラフィックツールなどでよく利用されている、RGBの要素をそれぞれ 16 進数で書く書き方の、先頭に 0x を付けた書式で指定します。例えば赤なら、0xFF0000 となります。 背景が「なし」の場合でも背景色の設定はできますが、当然ながら無効(透明)になります。 例えば、テキストフィールドに txt_fld というインスタンス名を付けていて、編集画面では「ボーダー」ボタンをオフにしているとします。 このテキストフィールドの背景を「あり」にし、背景色を指定するスクリプトは、次のようになります。 (↓このスクリプトをコピーして利用する場合は、各行頭の全角のスペースを、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)  //背景を「あり」にする  txt_fld.background = true;  //背景色を赤にする  txt_fld.backgroundColor = 0xFF0000; ちなみに、同じ要領で外枠の有無や色を操作することもできます。外枠の操作には、border と borderColor プロパティを使います。  //外枠を「あり」にする  txt_fld.border = true;  //外枠の色を青にする  txt_fld.borderColor = 0x0000FF; 「ボーダー」ボタンをオンにすると、背景と同時に外枠も表示されてしまうところですが、TextField オブジェクトでは背景だけ・外枠だけを表示するなど、細かい表現が可能です。 また、テキストフィールドの書式を決める TextFormat オブジェクトと合わせて使うと、途中から書式を変更するといった、編集画面では不可能な面白い操作もできます。 目的に合わせて、いろいろ試してみてください。

WETCOLD
質問者

お礼

いつも、ありがとうございます。   編集画面のテキストフィールドの外枠ボタンで透明、不透明にするのが最も簡単な方法ですね。   ActionScriptによる外枠、背景色の組み合わせで、テキストフィールドでかなりのことができるのが分かりました。

関連するQ&A

専門家に質問してみよう