首页 > 代码库 > ActionScript3游戏中的图像编程(连载四十五)

ActionScript3游戏中的图像编程(连载四十五)

总目录:http://blog.csdn.net/iloveas2014/article/details/38304477

 

3.1.1 Flash简单滤镜的共性分析


      在模拟Photoshop样式的过程中,我们发现两个毫不相干的滤镜居然会有很多参数出奇地一致。实际上,好多个简单滤镜都有重复,下面我把它们整理成表格供大家查看。

 

滤镜名称

模糊

强度

距离

颜色/渐变

品质

内外

挖空/隐藏

投影

发光

模糊

斜角

渐变发光

渐变斜角


      其中,颜色包含了透明度。


      经过这样的一个表进行比对之后,结果相当的惊人,各具特色的6个滤镜所用的参数几乎完全一样。


      网上不少文章说,Flash提供了非常丰富的滤镜供我们使用。但在这里,我可以很负责任地告诉大家,以上6个功能各异的简单滤镜,它们由始至终都只在做两件事,一件是复制一个或多个图形轮廓,下一件是对图形轮廓进行变色以及模糊/锐化!


      至于为什么我会这样说,我拿之前用到的投影和斜角滤镜来说明这个问题。


      投影滤镜(这里先不谈内阴影),基本上一眼可以看得出来,把图形给复制了一层,转成黑色,对边缘做了一下模糊处理之后,错开一定的像素衬于图形下方即可完成。


      至于斜角,继续用回上一节的实例。先隐藏掉投影滤镜(点击滤镜工具条的按钮即可),同时将品质设置为低,减少模糊次数对效果造成的影响。


      隐藏后的效果如图 3.1所示。

 

 

图 3.1 只有斜角滤镜的效果


      为了证明那两团云雾状的物体正是文字的轮廓,我再把模糊设成0。距离拉到了16(图 3.2)。
 

图 3.2 内侧斜角滤镜:距离被拉大后的效果


      是不是已经看出一些端倪来了?我们再把类型改成外侧,距离再拉大些(图 3.3)。
 

图 3.3 外侧斜角滤镜:距离被拉大后的效果


      至此,真相已被揭开,所谓的斜角,不过就是把图形复制了两遍,进行上色以后,错位地叠加到原始文字之下。


      所以,当我们把距离重新调小的时候,转角处的边缘必然不会圆滑。(图 3.4)


      此处我再次把背景改成深绿色,以便看清楚白色高亮区的轮廓。
 

图 3.4 外侧斜角滤镜:距离重新拉小后的效果


      然后,为了让转角处可以顺利地衔接起来,Flash用了一个很狡猾的偷懒方式:模糊,我们不妨把模糊也设置回3。(图 3.5)

 

 

图 3.5 外侧斜角滤镜:设置了模糊参数后的效果


      可以看到,在边缘平滑的问题上,Flash滤镜试图通过简易的障眼法来蒙混过关。