1


0

私は実行時にFlexアプリケーションにロードしたビットマップ画像に反射効果(有名なiPhone UIによって普及しているものを知っています)を作成して適用するためのシンプルでクリーンでメモリ効率の良い方法を探しています。 ソース画像はさまざまな種類(JPG、PNGなど)になりますが、許容できる解決策は、各画像が既にロードされ、BitmapDataとして格納されていることを前提とすることができます。

できることは、オプションで、BitmapDataの一部のビューにリフレクション効果を適用することですが、すべてのビューにリフレクション効果が必要なわけではないため、ソースのBitmapDataをそのまま残します。 洞察は大歓迎です! 前もって感謝します。

4 Answer


3


このクラスを使うことができます:

それはおそらく完璧ではありませんが、少なくともあなたに迅速なスタートを与えるでしょう。 それから更新

HTH


2


http://graphics-geek.blogspot.com/2009/03/video-moment-of-reflexion.html[私が探していた答え]に、ソースコードとデモビデオを添付して[Chet Haase]が投稿しました。 他の人が柔軟な解決策を探すのに役立つことを願っています。


1


おそらくもっと簡単な方法ですが、手っ取り早いことに、イメージの2枚目のコピーを反転して透明にして表示するだけです。

プライベート関数onCC():void {var m:行列= new行列(1,0,0、-1、flipImage.transform.matrix.tx、flipImage.transform.matrix.ty flipImage.height); flipImage.transform.matrix = m; flipImage.alpha = 0.3; }


0


あなたはいつでもscaleX = -1を使うことができます。

これはあなたのイメージを水平に反転させるでしょう。 しかし、それは車軸として左側を使って反転するので、image.xになるように画像のx位置を調整しなければなりません = image.x image.widht;