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

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

3.2.2 高强度的斜角模拟所谓的“雕刻清晰”


      不少ActionScript图书或者网上教程在介绍斜角滤镜时都喜欢拿高强度的参数作为例子来讲解雕刻清晰的实现方法(图 3.38)。

 

图 3.38 用高强度的斜角滤镜实现雕刻清晰


      实际上,这种做法并不经得起推敲。首先,两光面和两暗面之间并无分界,其次,实例中的图形恰好是矩形,如果换成轮廓复杂点的文字,这个所谓的清晰就显得比较突兀了(图 3.39)。

 

图 3.39 用Flash模拟的雕刻清晰字母O


      而Photoshop在这两细节效果的处理上都远远优于Flash(图 3.40,图 3.41)。
 

图 3.40 用PS绘制雕刻清晰的正方形

 

 

图 3.41 Photoshop制作的雕刻清晰字母O


      而且对于非45度的斜角而言,Flash中的分界甚至会被扭曲(图 3.42)。

 

图 3.42 Flash的60度斜角


      如果雕刻清晰斜面的高度较小,或者形状不复杂,高强度斜角一般都能胜任。但若高度较大,并且必须要完善这类细节的话,则难度就比较高了,不过我在这里可以先给出一个比较简单的处理方法。


      对于正方形来说,一个斜角滤镜最多只能在两个拐点处生成分界线,要么左上和右下(图 3.43),要么右上和左下(图 3.44)。

 

 

图 3.43 135度,分界点在左上和右下
 

图 3.44 45度,分界点在右上和左下


      在同一个滤镜里,两个角度不能共存,但我们完全可以给显示对象赋予两个滤镜(上两节已经提到过,在同一个显示对象里,同类型的滤镜可以设置多个。

 

      我们把给方块应用上这两个斜角滤镜,同时把上层滤镜(即后加的那个)的高光及阴影透明度设置为50%,效果如图 3.45所示。

 

      小提示:可以用复制滤镜的方法快速生成两个完全一样的滤镜,然后再更改其中一个的角度和alpha。


 

图 3.45 用两个斜角滤镜模拟出精度更高的雕刻清晰


      虽然我们仍然无法精准控制每个面的颜色,但是此举至少给我们指了一条明路,细腻的雕刻清晰在Flash里的模拟指日可待。对于复杂的图形,我们可以通过多复制一些图层,然后运用混合模式等知识来实现浮雕色彩的精确控制。这些内容我将在后续章节逐一为大家展开。

 


 

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