添加马甲

请在下面输入您的马甲帐号信息, 然后点击 "添加" 按钮. 马甲信息添加后不能修改, 如果您修改了马甲的密码或安全提问, 请删除这个马甲并重新添加.
注意,每添加一个马甲收取工本费 200 金钱

用户名
密码
 
安全提问
回答
 
附加设置  
 



标题: [转载] flash制作水波效果
爱爱爱
举人
Rank: 3Rank: 3


UID 1290
精华 0
积分 11585
帖子 766
威望 98
金钱 10108
贡献 0
阅读权限 50
注册 2011-4-23
状态 离线
楼主
发表于 2012-12-15 23:38 资料 短消息 加为好友
分享到:

flash制作水波效果

首先我们需要找到一个背景(大小和场景相同),或者自己手绘一个,这里我用的是博客的图标。也可以用一张图片做成mc来代替。做好后,将这个mc拖入到场景中,中心对齐,并给它实例命名为pic  

第三步,再次新建一个mc,里面绘制一个和场景大小相同的矩形(注意这个矩形要与mc的场景中心进行“左上”对齐)如下图,这个矩形就是将来在pic那个图片效果上做水波的区域,如果你不绘制这个矩形,将来出来的效果就会感觉有个边缘,视觉上就比较假,当然如果你有心,完全有别的方法可以来解决这个问题。

接下来,如果你刚才懒的命名标识符,就可以在这个mc里新建一个层,把刚才的那个放射性渐变的mc(会动的那个)拖入进来,位置就放到这个矩形的中间。

如果你命名了标识符,就可以直接在帧上添加以下代码:

var depth:Number = this.getNextHighestDepth();   
file://获取可用层级,返回一个数字   
this.attachMovie("ball", "ball"+depth, depth);   
file://加载库中的放射性渐变动画。   
this["ball"+depth]._x = Stage.width/2;   
file://确定位置。具体用什么参数,看你的个儿喜好啦。   
this["ball"+depth]._y = Stage.height/2;   
最后,回到主场景,这时主场景中已经有最初制作的实例名叫pic的背景(关的博客);现在只需把刚才制作的包含矩形的mc拖入进来,把它远远的扔到一边就可以了,下面是主场景帧上的代码:   
file://by 关   
file://禁止动画缩放。   
Stage.scaleMode = "noScale";   
file://导入相关的类,死记硬背下面三个import。   
import flash.display.*;   
import flash.filters.*;   
import flash.geom.*;   
file://创建一个bitmapdata对象,大小和放射性渐变的mc相同   
var bit:BitmapData = (new BitmapData(mask._width, mask._height, true));   
file://zjx、zjy是渲染动画时所使用的通道,数值为1、2、4、8,对应红、绿、兰、alpha通道。我看基本可以死记硬背就好。   
var zjx:Number = 1;   
var zjy:Number = 2;   
file://sfx、sfy这两个数据可以改变水波的强度,即图像在x轴和y轴扭曲的程度。   
var sfx:Number = 10;   
var sfy:Number = 20;   
file://逐帧调用,你也可以用setInterval来实现,因为那个放射性渐变是动态的,而bitmap对象要模仿它的话,就必须做到动态跟踪。   
this.onEnterFrame = function() {   
file://把放射性渐变的动画添加给bit,使之绘制出来。   
bit.draw(mask);   
file://设置一个DisplacementMapFilter滤镜对象,它有使图像扭曲的功能,这里就用到了zjx、zjy等变量。   
var filter:DisplacementMapFilter = (new DisplacementMapFilter(bit, new Point(), zjx, zjy, sfx, sfy, "color", 0, 0));   
file://场景中实例名为pic的元件使用新创建的滤镜,因为用到onEnterFrame,所以效果是动态滴:)   
pic.filters = [filter];   
};

  ctrl+Enter就可以测试了。

最后总结出:

1.必须有一个动态的东东做波动的样子,BitmapData.perlinNoise 类就是更深层次的波动,明天再测试。

2.有一个BitmapData对象不断的对那个波动mc进行绘制。

3.需要波动的影像采用DisplacementMapFilter滤镜类,来源是绘制波动效果的BitmapData对象。

顶部
三军会师
秀才
Rank: 2



UID 1146
精华 0
积分 2362
帖子 206
威望 0
金钱 116
贡献 0
阅读权限 20
注册 2009-4-15
状态 离线
顶你一下,好贴要顶!  

顶部
君泰白银
秀才
Rank: 2



UID 1836
精华 0
积分 1557
帖子 141
威望 0
金钱 6
贡献 0
阅读权限 20
注册 2012-11-17
状态 离线
好帖子,要顶!

顶部
liuquanwyn (权)
秀才
Rank: 2


进步奖3 进步奖8 进步奖10
UID 407
精华 0
积分 3000
帖子 307
威望 8
金钱 242
贡献 0
阅读权限 20
注册 2007-12-29
来自 郭城
状态 离线
加油啊!!!!顶哦!!!!!  

顶部
生活中某人
秀才
Rank: 2



UID 2767
精华 0
积分 1634
帖子 133
威望 0
金钱 161
贡献 0
阅读权限 20
注册 2013-6-2
状态 离线
不错!  

顶部
狼牙月
秀才
Rank: 2



UID 3652
精华 0
积分 1470
帖子 131
威望 0
金钱 9
贡献 0
阅读权限 20
注册 2013-6-2
状态 离线
不错!  

顶部
萤火虫
秀才
Rank: 2



UID 2300
精华 0
积分 1270
帖子 108
威望 0
金钱 82
贡献 0
阅读权限 20
注册 2013-6-2
状态 离线
不错,看看。  

顶部
在那东山根下
秀才
Rank: 2



UID 1492
精华 0
积分 1426
帖子 217
威望 0
金钱 114
贡献 0
阅读权限 20
注册 2012-2-9
状态 离线
好帖子,要顶!

顶部
和气生财
秀才
Rank: 2


UID 949
精华 0
积分 1700
帖子 397
威望 19
金钱 945
贡献 0
阅读权限 20
注册 2008-9-21
状态 离线
必须顶  

顶部
天下无双
秀才
Rank: 2



UID 2635
精华 0
积分 1636
帖子 131
威望 0
金钱 185
贡献 0
阅读权限 20
注册 2013-6-2
状态 离线
回答了那么多,没有加分了,郁闷。。  

顶部



京ICP备07018629号
本站QQ群69392608

当前时区 GMT+8, 现在时间是 2024-6-19 05:05

免责声明:本站部分文章、资源来自互联网,版权归原作者所有。如侵犯了您的权利,请及时告知,我们将于第一时间删除!

Powered by Discuz! © 2001-2024XML
Processed in 0.118625 second(s), 7 queries , Gzip enabled

清除 Cookies - 联系站长 - 精简版 - 手机版