(メインページへ)
今日のTips/トラブル

トラブル

TextAreaの文字が欠ける

TextAreaコンポーネントの文字の下側がちゃんと表示されずに欠けてしまうという不具合に出会った人はいませんか?次のように見えます。

textarea_bug.jpg

実際のswfを見る

実はこの現象はMacで見てもわかりません。Macで気付かないまま作っていって、最後のテストでWindowsで確認すると「おりょ?!」ってことになるわけです。
どうすれば解決できるのでしょうか?

文字の下が欠けるので行間の高さが不足していると考えられます。ということは、TextAreaコンポーネントのプロパティの・・・と調べていくとハマってしまうのですよ。
このバグの原因は思わぬ所にあります。それは、TextAreaを含んでいるムービークリップにフィルタが掛かっている、この例ではドロップシャドウが付いていることに原因があります。ドロップシャドウの設定を外せば文字の欠けがなくなります。

では、例に示すようなドロップシャドウ付きのムービークリップは諦めるしかないのでしょうか?そんなことはありません。ちょっとした発想の転換で解決します。それはムービークリップ内の背景をムービークリップにしてドロップシャドウを付けるのです。そうすれば、TextAreaを含んでいるムービークリップはフィルタをかけなくてもドロップシャドウ付きで見えます。
背景にドロップシャドウを付けた

個別リンク

印刷するとフィルタ効果が出ない

フィルタ効果のトラブルをもう1つ。(実はまだまだあるんです)
テキストやムービークリップにドロップシャドウなどのフィルタを設定している場合、その画面をPrintJobクラスで印刷してもフィルタ効果が無視されます。ぼくがいろいろ試した限り対処法は見つかりませんでした。
仕様決めのときにクラアイントに納得してもらうしかありません。orz

あ!
BitmapData.draw()でスナップショットを撮る方法で対処できるかもしれませんね。

個別リンク