フィルターによって異なるhitAreaのサイズ

Flashには、ButtonやMovieClipにドロップシャドウなど、フィルタを掛ける機能があります。これは、ものすごく便利なんですが、先日、ちょっとしたことで使えない事例がありました。

プロパティパネルでインスタンスにフィルターを設定する

上記の設定をプロパティパネルで適用すると、ドロップシャドウがつきます。これは、便利!
注意しなくてはいけないのは、ボタンなどで、ヒットエリアを大きくしている場合です。

たとえば、次の例を見てください。

フィルターあり(左)とフィルターなし(右)ではヒットエリアが確実に違う

ボタンが小さいときは、ヒットフレームの塗りを大きくすれば、見た目のボタンよりも大きな範囲が反応します。これは、重要なUIのノウハウですが、ボタンに「ドロップシャドウ」などのフィルターを掛けてしまうと、ヒットフレームのエリアが無視されてしまうようです。

フィルターがあるときは、アップフレームのサイズしか見ていないっぽいです。影の部分は当然無視です。

私の場合、面倒だったので、ドロップシャドウを取り除くことで、ヒットエリアを正しく認識されるように直しましたが、おそらく、ASでhitAreaを指定したり、それこそ、座標でチェックしたりすれば、大丈夫だと思います。

ご注意ください。

#私は、これはバグだと思っていますが、Adobeは仕様というでしょうね(笑)とりあえず、回避策があれば、問題なしです。

Index of all entries

Feeds
About

supported by TOGORU

Return to page top