flash cs4书契颜色缓动特效代码解析

更新时间:15-10-23 21:31 热度:370
 

这篇教程是向大家解析flash cs4书契颜色缓动特效代码,教程比较实用,喜欢的朋友可以跟着教程来学习吧!

先来看下效果:

代码详解:

[swf(backgroundcolor=0x000000,width=550,height=400)]//设置场景环境色、体积

var r:uint=0,g:uint=0,b:uint=0;//声明无符号平头数型变量r、g、b,起初值都是0

var color:uint,targetr:uint,targetg:uint,targetb:uint;//声明无符号平头数型变量color、targetr、targetg、targetb

var filtersco:uint,filtersr:uint,filtersg:uint,filtersb:uint;//声明无符号平头数型变量filtersco、filtersr、filtersg、filtersb

var glowf:glowfilter;//声明一个闪光滤镜类实际的例子glowf

var matrix:matrix=new matrix();//声明一个矩阵类实际的例子matrix

matrix.creategradientbox(550,200,0,0,0);//设置向量图逐渐变化补充所需矩阵式样(宽550,高200,旋转0,x方向平移0,y方向平移0)

var sh:shape=new shape();//声明一个向量图类实际的例子sh

sh.graphics.begingradientfill(gradienttype.linear,[0xff0000,0xffff00,0x00ff00,0x00ffff,0x0000ff,0xff00ff,0xff0000],[1,1,1,1,1,1,1],[0,42,84,126,168,210,255],matrix);//设置逐渐变化补充式样(线性逐渐变化,颜色块颜色,公开度,颜色块位置,矩阵)

sh.graphics.drawrect(0,0,550,200);//在sh中画长方形(左上角坐标(0,0),宽550,高200)

sh.graphics.endfill();//终了补充

var bmd:bitmapdata=new bitmapdata(550,200);//声明一个位图数值类实际的例子bmd(宽550,高200)

var bim:bitmap=new bitmap(bmd);//声明一个位图包装类实际的例子bim,用于包装bmd

bmd.draw(sh);//位图bmd为向量图sh照相

addchild(bim);//把位图bim添加显露列表

var txt:textfield=new textfield();//声明一个文本类实际的例子txt

addchild(txt);//把文本txt添加显露列表

txt.defaulttextformat=new textformat("中文琥珀",60);//设置文本款式(字体,字号)注意这么设置要放在内部实质意义面前才起效用

txt.text="中国教程网热烈欢迎您!";//文本内部实质意义

txt.autosize=textfieldautosize.center;//文本txt半自动调试体积并当中对齐

txt.x=stage.stagewidth/2-txt.width/2;//文本的x坐标,把文本放在戏台半中腰

txt.y=stage.stageheight*3/4-txt.height/2;//文本的y坐标,把文本放在纵向3/4处

addeventlistener(event.enter_frame,frame);//添加帧频事情侦听,调配使用函数frame

function frame(e) {//定义帧频事情函数frame

        color=bmd.getpixel(mousex,mousey);//color取得位图鼠标处像素点的颜色

        targetr=color>>16;//targetr取得color中红色通道数字

        targetg=color>>8&0xff;//targetg取得color中快捷安全的通道数字

        targetb=color&0xff;//targetb取得color中蓝色通道数字

        r+=uint((targetr-r)*0.03);//r每帧增加targetr与r差的0.03倍

        g+=uint((targetg-g)*0.03);//g每帧增加targetg与g差的0.03倍

        b+=uint((targetb-b)*0.03);//b每帧增加targetb与b差的0.03倍

        txt.textcolor=r<<16g<<8b;//把r、g、b合成颜色付值给书契txt

        filtersr=0xff-r;//filtersr取得0xff与r的差

        filtersg=0xff-g;//filtersg取得0xff与g的差

        filtersb=0xff-b;//filtersb取得0xff与b的差

        filtersco=filtersr<<16filtersg<<8filtersb;//把filtersr、filtersg、filtersb合成颜色付值给filtersco

        glowf=new glowfilter(filtersco,1,8,8);//闪光滤镜glowf实际的例子化(颜色,公开度,x方向依稀值,y方向依稀值)

        txt.filters=[glowf];//书契应用闪光滤镜

}

//============解释明白

var txt1:textfield=new textfield();//声明一个文本类实际的例子txt

addchildat(txt1,numchildren-1);//把txt添加到显露列表的最底层

txt1.defaulttextformat=new textformat("中文隶字",20,0x00cc33);//为txt设置文本款式(隶字,30号,苍翠颜色)

txt1.text="全脚本代码书契颜色缓动效果        鼠标滑动七彩图变更书契颜色";//文本txt内部实质意义

txt1.x=20;//文本txt的x坐标取得20

txt1.y=360;//文本txt的y坐标取得360

txt1.width=550;//文本txt的宽度取得220

txt1.filters=[new dropshadowfilter(2,45,0x0)];//为文本添加投影滤镜(距离5,方向45度,颜色黑色)

以上就是flash cs4书契颜色缓动特效代码解析,期望能对大家有所帮忙!