利用blendMode兑现 Alpaha 通道遮罩
利用blendMode实现 Alpaha 通道遮罩
http://chaimzane.iteye.com/blog/259101
当本身或父容器的cacheAsBitmap = true 时,就会对,该对象的matrix 产生扰乱,就是取值设置不准确,这是 flash的bug http://bugs.adobe.com/jira/browse/FP-121。
什么东西呢,就是
A: mask.png B: frame.png C: Image.*



几张图要实现这样的效果

自然就想到了用 flash的遮罩来实现。哦对了,其中mask.png还要做下补色,然后对frame.png和Image.*组成的图
进行apha遮罩,但是这样做会有个问题因为,对Image.*的操作是基于 matrix的,而alpha遮罩是要设置cacheAsBitmap = true 的,但是这样做会有我一开始提到的那个问题,虽然http://www.sephiroth.it/weblog/a ... heasbitmap_hell.php上面给出了解决办法,但是我发现还是没有根本解决问题。怎么办勒,终于被我发现另外一种实现alpha通道遮罩的办法,而不用设置cacheAsBitmap=true,那就是用blendMode。将父层的blend设置为
BlendMode.LAYER,在将mask层放在被遮罩层上并设置blend = BlendMode.ALPHA,嘿嘿,一切都解决啦。
http://chaimzane.iteye.com/blog/259101
当本身或父容器的cacheAsBitmap = true 时,就会对,该对象的matrix 产生扰乱,就是取值设置不准确,这是 flash的bug http://bugs.adobe.com/jira/browse/FP-121。
什么东西呢,就是
A: mask.png B: frame.png C: Image.*
几张图要实现这样的效果
自然就想到了用 flash的遮罩来实现。哦对了,其中mask.png还要做下补色,然后对frame.png和Image.*组成的图
进行apha遮罩,但是这样做会有个问题因为,对Image.*的操作是基于 matrix的,而alpha遮罩是要设置cacheAsBitmap = true 的,但是这样做会有我一开始提到的那个问题,虽然http://www.sephiroth.it/weblog/a ... heasbitmap_hell.php上面给出了解决办法,但是我发现还是没有根本解决问题。怎么办勒,终于被我发现另外一种实现alpha通道遮罩的办法,而不用设置cacheAsBitmap=true,那就是用blendMode。将父层的blend设置为
BlendMode.LAYER,在将mask层放在被遮罩层上并设置blend = BlendMode.ALPHA,嘿嘿,一切都解决啦。