A-A+
flash as ColorMatrixFilter类调整图像实例
使用 as 的 ColorMatrixFilter 类进行图像的调整,使用 ColorMatrixFileter 可以对图像进行很好的控制,当我们在制作游戏时,需要进行对图像进行细微控制的时候就可以用到了,下面我们来看一下关于 flash as ColorMatrixFilter 类的一个简单实例。
第一步,首先创建一个 grayscale.fla 的 flash 文档,在时间轴的第一帧,在“动作”面板中添加如下的代码:
- import flash.filters.ColorMatrixFilter;
- System.security.allowDomain("http://www.flashjiaocheng.com");
- var mcl_obj:Object = new Object();
- mcl_obj.onLoadInit = function(target_mc:MovieClip):Void {
- var myElements_array:Array = [0.3, 0.59, 0.11, 0, 0,
- 0.3, 0.59, 0.11, 0, 0,
- 0.3, 0.59, 0.11, 0, 0,
- 0, 0, 0, 1, 0];
- var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter(myElements_array);
- target_mc.filters = [myColorMatrix_filter];
- }
- this.createEmptyMovieClip("img_mc", this.getNextHighestDepth());
- var img_mcl:MovieClipLoader = new MovieClipLoader();
- img_mcl.addListener(mcl_obj);
- img_mcl.loadClip("/image1.jpg", img_mc);
代码其实很简单,第一句是导入了一个 ColorMatrixFilter 的类,接着创建一个侦听器对象,关于在后面的代码中,是该对象与新创建的 MovieClipLoader 实例一起使用的,再往下,又创建了一个名为 img_mc 的新影片剪辑实例,以及 img_mc1 的新影片剪辑加载器实例,最后,源影片剪辑将加载到舞台上的 img_mc 影片剪辑中,成功加载图像的时候,将调用 onLoadInit 事件处理函数,并且会将一个 .ColorMatrixFilter 附加到加载的图像中。
最后,我们来进行测试一下该文档,点击 ctrl+enter。