• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストにエッジを付けるテクニック)

テキストにエッジを付けるテクニック

このQ&Aのポイント
  • テキストにエッジを付けるための良い方法はありますか?Photoshopでいう、境界線を目標としています。
  • 複数レイヤーや一回り大きいフォントを試してみましたが、キレイに縁取った表示はできませんでした。
  • FlashMX 2004を使用しており、Flash8ならば可能なのかについて知りたいです。

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

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

◎ Flash Professional 8 だと簡単にできます。 例えば, メインムービー( _root )にダイナミックテキストのテキストフィールドを用意します。 そして,ダイナミックテキストを選択した状態で,プロパティ インスペクタ(パネル)を表示させて, 文字色を「白」, 「テキストの周りにボーダーを表示」(ボーダーを表示しない), にしておいて, 「フィルタ」タブを選択, 「グロー」で,  -----------------------------------------  ぼかし-水平:[2    ] v  カラー:黒 □ノックアウト  ぼかし-垂直:[2    ] v         □グロー(内側)      強度:[1000% ] v        (↑両方チェックなし)      画質:[中(くらい?)] v  ----------------------------------------- という感じの設定にして, ダイナミックテキストに任意の文字を入力するか,スクリプトで代入すると, 白字のまわりに黒いエッジがついた文字が表現できます。 他にも設定を変えれば面白いグローが表現出来ます。 ◎ Flash Basic 8 だと難しいですができます。 なぜ難しいかというと,Professional 8 のようにマニュアル設定ができないため, ActionScript で設定をしなければならないからです。 例えば,まず, メインムービー( _root )にダイナミックテキストのテキストフィールドを用意します。 そして,ダイナミックテキストを選択した状態で,プロパティ インスペクタを表示させて,インスタンス名を付けます。 ここでは 「my_text」 というインスタンス名を付けたとしておきます。 文字色を「白」, 「テキストの周りにボーダーを表示」(ボーダーを表示しない), にという設定まではしておいて, _root のタイムラインのフレームのスクリプトとして, 次のようなコードを書きます。 ---コピペ可------------------------- import flash.filters.GlowFilter; var color:Number = 0x000000; var alpha:Number = 1; var blurX:Number = 2; var blurY:Number = 2; var strength:Number = 1000; var quality:Number = 2; var inner:Boolean = false; var knockout:Boolean = false; var filter:GlowFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); var filterArray:Array = new Array(); filterArray.push(filter); _root.my_text.filters = filterArray; -------------------------------- (よく見ると,上の Professional 8 の方で書いた内容をそのままスクリプト化しているだけだとわかると思います。) そして,ダイナミックテキストに任意の文字を入力するか,スクリプトで代入し, パブリッシュしたSWFを開くと, 白字のまわりに黒いエッジがついた文字が表現できているのが確認できると思います。 まだ,あまりこれに関して良いURLが見つからなかったので, Flashドキュメンテーションより参考URL↓。 「ActionScript によるフィルタの操作」 http://livedocs.macromedia.com/flash/8_jp/main/00001512.html 「GlowFilter コンストラクタ」 http://livedocs.macromedia.com/flash/8_jp/main/00002243.html 「GlowFilter (flash.filters.GlowFilter)」 http://livedocs.macromedia.com/flash/8_jp/main/00002237.html ◎ Flash MX 2004 だと普通の場合上の方法はできません。 普通はできないとわかっていてなぜ,Flash 8 の話を長々としたかというと, 普通でない場合は,できる可能性があるからです。 簡単に言うとFlash MX 2004 で Flash Player 8 仕様の SWF をパブリッシュすれば良いわけです。 実は,Flash MX 2004 には隠された裏技機能があって,Flash Player 8 仕様の SWF がパブリッシュできます(私は未検証)。 「Flash 8 の機能をMX 2004で使ってみる」 http://as.otesei.com/item/209 その他 「Flash MX 2004でFlashPlayer 8」 http://www.noridon.net/weblogs/archives/2005/07/flash_mx_2004fl.html 「Flash7をFlash8にエクスポートする」 http://skyflyhigh.s52.xrea.com/wordpress/?p=151 この方法を使うと, MX 2004 で Flash 8 発売前に Flash Player 8 仕様の SWF がパブリッシュできたので, Flash 8 発売前から,「Flash 8 ではこんなことができる!」というサンプルを世界中の達人の方達が公開できたわけです。 わからない点が, Flash MX Professional 2004 しかできないのか,それとも Flash MX 2004 でもできるのかという点と, 文字のグローはできるのかという点です。 もしできたら, Flash Basic 8 でできることは,Flash MX 2004 でもたいていできるということになるのかもしれません。 気が向いたらチャレンジしてみるのも良いかもしれませんね。 もし,できるとすれば,上に書いたBasic 8 の方法でできるはずです。 (する場合は自己責任でおねがいします。) ※余談,思うのですが…  この方法を使うと,Flash 9 も 10 も  スクリプト的にはずっとできるのでしょうかね?  ちなみに  Flash 8 を使って Flash 9 の SWF を  パブリッシュしてみたことはありますが,  Flash Player 9 がこの世に存在しませんし,  あったとしても,  Flash 9 になって新登場するスクリプトがわかりませんので,  本当に Flash Player 9 仕様の SWF が  パブリッシュできたのかどうかは,  確かめることは不可能でした(「実験してから気づくなっ!」ですね)。  また,  Flash MX 以前にはこの機能はないため,  Flash Player 8 仕様のSWFはパブリッシュ不可能です。

coord_2d
質問者

お礼

sassakun様、ご回答ありがとうございます。 Pro8を購入して作ってみたいと思います。 MXから8へのパブリッシュも初めて知りました。 色々試してみたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A