来谈谈:Flash的AS3代码制造含混滤镜动画殊效-Flash actionscript
不是MX版本升级到MX2004时的那么简单,而是实现了新的飞跃。本例先容使用Flash的AS3代码完成滤镜动画效果的制造,译者具体注释了代码的使用,喜好本效果的伴侣能够下手尝尝~~
效果演示:(请用鼠标在画面上点击寓目效果)
在这个教程中,我们将增加含混和斜角滤镜给图片,一切的动画都是用Actionscript3.0制造,在图片上挪动你的鼠标看看效果。当你把握了这些你将一样能创立另外一些滤镜效果,好吧,翻开你的flash我们入手下手吧。
设置情况:
1.创立一个新的文档,巨细为500x250。
2.导进两张图片到舞台(约莫200x200),你能够象我一样导进一张方的和一张园的图片。
3.将两张图片转换为MC,你能够这它们取上你喜好的名字;将注册点移到中央。
4.给它们取上实例称号分离为:“apple01”和“apple02”。
进进AS3翻开你的举措面板输出上面的代码:
//利用动画滤镜
varblurSpeed:Number=1;
varbevelSpeed:Number=5;
//为两个苹果增加MOUSE_OVER事务侦听
appleapple01.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple01);
apple02.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple02);
//这两个苹果增加MOUSE_OUT事务侦听
appleapple01.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple01);
apple02.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple02);
/*为两个苹果增加ENTER_FRAME,如许我们就可以每隔一帧的工夫绘制它们*/
apple01.addEventListener(Event.ENTER_FRAME,enterFrameApple01);
apple02.addEventListener(Event.ENTER_FRAME,enterFrameApple02);
//创立并附加含混滤镜给apple01
varblur:BlurFilter=newBlurFilter();
blur.blurX=20;
blur.blurY=20;
blur.quality=BitmapFilterQuality.HIGH;
apple01.filters=;
//创立一个斜角滤镜给apple02
varbevelFilter:BevelFilter=newBevelFilter(10,45,0x000000,1,0xffffff,1,0,0,0,BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);
apple02.filters=;
//设置省缺值(鼠标没挪动到苹果上时)
varmouseIsOverApple01:Boolean=false;
varmouseIsOverApple02:Boolean=false;
//当鼠标移到apple01上时挪用
functionmouseOverApple01(event:MouseEvent):void{
mouseIsOverApple01=true;
}
//当鼠标移到apple02上时挪用
functionmouseOverApple02(event:MouseEvent):void{
mouseIsOverApple02=true;
}
//当鼠标移出apple01时挪用
functionmouseOutApple01(event:MouseEvent):void{
mouseIsOverApple01=false;
}
//当鼠标移出apple02时挪用
functionmouseOutApple02(event:MouseEvent):void{
mouseIsOverApple02=false;
}
//这个函数绘制apple01的动画
functionenterFrameApple01(event:Event):void{
//假如鼠标在苹果上挪动削减含混
if(mouseIsOverApple01==true){
blur.blurX-=blurSpeed;
blur.blurY-=blurSpeed;
}
/*假如鼠标移出苹果,而且含混没凌驾20,我们增添含混。*/
if(mouseIsOverApple01==false&&blur.blurX<=20){
blur.blurX+=blurSpeed;
blur.blurY+=blurSpeed;
}
/*在改动含混滤镜后我必要从头分派滤镜*/
apple01.filters=;
}
//这个函数绘制apple02的动画
functionenterFrameApple02(event:Event):void{
//假如鼠标移到这个苹果上,我们增添含混滤镜直到100
if(mouseIsOverApple02==true&&bevelFilter.blurX<100){
bevelFilter.blurX+=bevelSpeed;
bevelFilter.blurY+=bevelSpeed;
//我们必要分派一个力度给斜角让它可见
bevelFilter.strength=5;
}
//假如鼠标移出apple02,削减含混
if(mouseIsOverApple02==false){
bevelFilter.blurX-=bevelSpeed;
bevelFilter.blurY-=bevelSpeed;
}
/*假如我们断定含混滤镜正被利用,我们让全部斜角不成见。(strengthis0).不然我们会看到一些丢脸的曲线。*/
if(bevelFilter.blurX==0){
bevelFilter.strength=0;
}
/*当我们改动了斜角滤镜时,我们必要从头分派一次滤镜*/
apple02.filters=;
}
已完了!测试影片,假如你有甚么成绩,请会见论坛!上面附代码供研讨。
varblurSpeed:Number=1;
varbevelSpeed:Number=5;
appleapple01.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple01);
apple02.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple02);
appleapple01.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple01);
apple02.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple02);
apple01.addEventListener(Event.ENTER_FRAME,enterFrameApple01);
apple02.addEventListener(Event.ENTER_FRAME,enterFrameApple02);
varblur:BlurFilter=newBlurFilter();
blur.blurX=20;
blur.blurY=20;
blur.quality=BitmapFilterQuality.HIGH;
apple01.filters=;
varbevelFilter:BevelFilter=newBevelFilter(10,45,0x000000,1,0xffffff,1,0,0,0,BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);
apple02.filters=;
varmouseIsOverApple01:Boolean=false;
varmouseIsOverApple02:Boolean=false;
functionmouseOverApple01(event:MouseEvent):void{
mouseIsOverApple01=true;
}
functionmouseOverApple02(event:MouseEvent):void{
mouseIsOverApple02=true;
}
functionmouseOutApple01(event:MouseEvent):void{
mouseIsOverApple01=false;
}
functionmouseOutApple02(event:MouseEvent):void{
mouseIsOverApple02=false;
}
functionenterFrameApple01(event:Event):void{
if(mouseIsOverApple01==true){
blur.blurX-=blurSpeed;
blur.blurY-=blurSpeed;
}
if(mouseIsOverApple01==false&&blur.blurX<=20){
blur.blurX+=blurSpeed;
blur.blurY+=blurSpeed;
}
apple01.filters=;
}
functionenterFrameApple02(event:Event):void{
if(mouseIsOverApple02==true&&bevelFilter.blurX<100){
bevelFilter.blurX+=bevelSpeed;
bevelFilter.blurY+=bevelSpeed;
bevelFilter.strength=5;
}
if(mouseIsOverApple02==false){
bevelFilter.blurX-=bevelSpeed;
bevelFilter.blurY-=bevelSpeed;
}
if(bevelFilter.blurX==0){
bevelFilter.strength=0;
}
apple02.filters=;
}
Macromedia公司已经承诺在Flash8中将有很大的变化,而且它们中的许多都与视频功能有关。 flash有这么多的优势,那么它的优缺点和设计方面的关系是什么? FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。 flash制作的动画文件比较小,可以在网络上快速传播! 单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画 矢量图形有一些固有的限制。例如,照片由于包含太多的信息而不能使用矢量图形这 种形式。但是对于由实体颜色形状构成的图像,Flash很管用。 Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。 Flash流行的主要原因是它使用了矢量图形(与位图相反)。因为这种图形格式比位图小得多,而且在缩放时对图形质量影响不大,所以很适合对带宽要求很高的Web。
页:
[1]