仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 640|回复: 7
打印 上一主题 下一主题

[学习教程] 来谈谈:Flash的AS3代码制造含混滤镜动画殊效-Flash actionscript

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:53:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不是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=[blur];

  //创立一个斜角滤镜给apple02

  varbevelFilter:BevelFilter=newBevelFilter(10,45,0x000000,1,0xffffff,1,0,0,0,BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);

  apple02.filters=[bevelFilter];

  //设置省缺值(鼠标没挪动到苹果上时)

  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=[blur];

  }

  //这个函数绘制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=[bevelFilter];

  }
已完了!测试影片,假如你有甚么成绩,请会见论坛!上面附代码供研讨。
  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=[blur];

  varbevelFilter:BevelFilter=newBevelFilter(10,45,0x000000,1,0xffffff,1,0,0,0,BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);

  apple02.filters=[bevelFilter];

  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=[blur];

  }

  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=[bevelFilter];

  }
Macromedia公司已经承诺在Flash8中将有很大的变化,而且它们中的许多都与视频功能有关。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-17 14:55:26 | 只看该作者
flash有这么多的优势,那么它的优缺点和设计方面的关系是什么?
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 23:18:51 | 只看该作者
FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。
飘灵儿 该用户已被删除
地板
发表于 2015-2-2 17:00:58 | 只看该作者
flash制作的动画文件比较小,可以在网络上快速传播!
谁可相欹 该用户已被删除
5#
发表于 2015-2-8 05:07:03 | 只看该作者
单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-24 19:39:01 | 只看该作者
矢量图形有一些固有的限制。例如,照片由于包含太多的信息而不能使用矢量图形这 种形式。但是对于由实体颜色形状构成的图像,Flash很管用。
爱飞 该用户已被删除
7#
发表于 2015-3-7 14:45:22 | 只看该作者
Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。
不帅 该用户已被删除
8#
发表于 2015-3-22 00:36:19 | 只看该作者
Flash流行的主要原因是它使用了矢量图形(与位图相反)。因为这种图形格式比位图小得多,而且在缩放时对图形质量影响不大,所以很适合对带宽要求很高的Web。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表