AS3:Tween系ライブラリとグラデーションマスク

チップアップ on グラーでションマスクアイコン

グラデーションマスクつきアイコン


結構贅沢というか雑な使い方なのか、他のサイトで見つけられなくて苦労したのでメモ。
グラデーションマスク上にTween付き吹出しを出すのが今回の目的。

レイヤー的には、

 ふきだしMovieClip
  |
 グラデーションマスクMovieClip
  |
 吹出しを付けたいアイコン等

 
という感じで、カーソルがアイコン上にある場合、ふきだしがカーソルについてまわる感じ。で、それをいっぱい並べたりする。
 
 
ここで、この吹出しをMOUSE_MOVEなどで動かすわけですが、
下のグラデーションマスクが吹出しと被ると
なぜかただのマスク(2値マスク)になってしまう。
描画がリフレッシュされない感じ。
なんだかよくわからないけど、ビットマップキャッシュ辺りが絡んでそうな模様。
 
 
とりあえず、ROLL_OVERMOUSE_MOVEROLL_OUTのそれぞれで

icon_mc.mask = gradMask_mc;

と毎回マスクをかけ直すことで対処しようと。
ここで問題になるのが、
マウスオーバーでこの吹出しをふわっと浮かび上がらせたい。
となると、Tween系のライブラリを使いますよね。
 
 
 
最初、軽くて必要十分だったKTweenというライブラリを使っていたのですが、
updateのイベントがないために、
残念ながら今回のケースではTween中にマスクが切れたりする。
すると下のアイコンがチラつきます。あー
 
そこで、KTween作者の方がおすすめしていた、
BetweenAS3というライブラリに変更し、
Tween中にupdateイベントで上記のマスクかけ直し続けることでなんとか成功。
 
 
 
どこで引っ掛てるのかマスクの階層や場所を変えたり
ビットマップキャッシュONOFFしたりと、
いろいろ試してかなりのロス…。
 
あ、あとビットマップキャッシュにするとなんか位置変わってたり。
いや、見た目はOKなんだけど、マウスイベントがかからなかったり。
 
 
なんだかなー
 

タグ: , , , , , ,

コメントをどうぞ

コメントを投稿するにはログインしてください。