ddc
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
上海网站建设 网站建设 域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计 虚拟主机 域名注册 acg ACG玩家 品牌设计
求创科技
网站建设
中国互联
投稿
素材出售
中国设计秀
中资源
当前位置:网络学院首页 >> 设计教程 >> Flash >> Flash AS实现的波纹视觉特效

Flash AS实现的波纹视觉特效

来源:中国设计秀    作者:    点击:142     加入收藏    发表评论
0
顶一下
代码不是我写的, All credits fly to unitzeroone

这里和大家一起欣赏一下这个效果,顺便注释一下代码:
//完整的代码看附件吧
//初始化函数,建立对象等
private function initialize():Void
  {
   particles = new Array();
   mBitmapData = new BitmapData(width,height+20,false,0x00000000);//这个BitmapData用来生成一个波纹的位图,具体如何生成后面有
   mPerlinBitmapData = new BitmapData(width,20,false,0x00000000);//这是一个存放Perlin杂色的位图,不知道什么是Perlin可以看Flash自带的文档,经然后由他的Bio  
   
   mSmokingBitmapData = BitmapData.loadBitmap("queen")//背景图像MC
   mSmokingClip = viewPort.createEmptyMovieClip("queen",1);
   mSmokingClip.attachBitmap(mSmokingBitmapData,1,"auto",false);
   mSmokingClip.blendMode = 13;//将他的渲染模式设置为13也就是Overlay模式,也可以当作光照模式,具体可以看Flash自带的介绍
   
   viewPort.scrollRect = new Rectangle(0,0,width,height);
   
   mRectangle = new Rectangle(0,0,width,height);
   mPoint_1 = new Point(0,0);
   mPoint_2 = new Point(0,0);
   viewPort.attachBitmap(mBitmapData, 0, "auto", false);//将mBitmapData放到舞台上,因为前面背景的渲染模式是Overlay,所以就带来了一种光照+反光的效果,非常逼真的波光
   mMatrix = new Matrix();
   mMatrix.translate(0,height-20);
   mBlur = new BlurFilter(4,4,3);//一个模糊滤镜,用来为生成波纹位图服务
  }
  
  
  public function onEnterFrame():Void
  {
//以下主要就是如何生成连续的波纹位图的代码
   mPoint_1.x += 1;
   mPoint_1.y += .5;
   mPoint_2.x += 5;
   mPoint_2.y += 2;//这些都是为生成连续Perlin 杂点服务的 
   mPerlinBitmapData.perlinNoise(width/2,10,2,12345,false,true,1,true,[mPoint_1, mPoint_2]);//生成杂点函数
   mBitmapData.draw(mPerlinBitmapData,mMatrix);//将杂点画在上一个波纹位图最底端,作为新的激荡点
   mBitmapData.applyFilter(mBitmapData, mRectangle, new Point(0,-5), mBlur);//使用前面的那个模糊滤镜,主要模拟波纹扩散的效果
   mDisplacement = new DisplacementMapFilter(mBitmapData, new Point(0,0), 1,1,0,-40,"color",0x000000,100);//用这张波纹位图创建一个DisplacementMapFilter,用来产生折射效果
   mSmokingClip.filters = [mDisplacement];//套用这个折射效果
  }

//之后每进入一帧都重复此过程,这样就出现了一系列连续的波纹位图。主要思路就是使用DisplacementMapFilter来带来折射效果,并且使用Overlay来模拟波光的效果。效果及其真实,和网友共勉。

2007-05-15 08:53:00    出处:
Google
热点文章/相关文章

音乐
嫁衣 画心 放生 天亮了 牡丹江 那滋味 擦肩而过 怀念过去 北京欢迎你 突然好想你 吻的太逼真 说好的幸福呢 坐上火车去拉萨 没有人比我更爱你
愚爱 心碎 稻香 带我走 醉赤壁 魔杰座 我还想她 明天过后 一定要爱你 等爱的玫瑰 原谅我一次 越单纯越幸福 最后一次的温柔 给我一首歌的时间
白狐 光荣 降临 下雨天 小酒窝 樱花草 恋爱新手 说唱脸谱 红色高跟鞋 寂寞才说爱 深深爱过你 爱上你是个错 即使知道要见面 不是因为寂寞才想你
城府 假如 花海 兰亭序 棉花糖 舍不得 最后一次 女人如烟 外滩十八号 我们的纪念 我们的无奈 心在跳情在烧 爱上你是我的错 爱情里没有谁对谁错
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口