位图飘动
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
这个效果呢,其实也简单,我大致说一下原理。 先自动生成一矩形元件。 _root.createEmptyMovieClip("rec", lv++); with (_root.rec) { beginFill(0x000000, 100); moveTo(0, 0); lineTo(0, 100); lineTo(100, 100); lineTo(100, 0); lineTo(0, 0); endFill(); _visible = false; _y = 0; _height = 800; }//上面生的那个矩形,再复制若干份,num是份数,会有具体设定。 for (i=0; i //让这些矩形按规律排开,恰好盖住图片 show.road["rec"+i]._x = img._x+img._width/num*i; show.road["rec"+i]._width = img._width/num; }//把要实现效果的图片,再复制若干份,num是份数 for (i=0; i }//把每一个矩形,设成相应的图片的遮罩。 for (i=0; i }这时候,就成了,一个矩形遮罩一个图片,每个图片都成了窄窄的一条,一字排开,你一点也看出有缝隙,还是一张吗,呵呵。 然后,我们让这里图片,有规律的运动,就行了。 show.road.onEnterFrame = function() { for (i=0; i //这里用到了三角函数sin()。 _alpha = _xscale=_yscale=(100-A)+A*Math.sin(show.wn+i*2*Math.PI/num); } } show.wn += speed; };我不知道大家是否看得懂。反正我写的也有些乱。 不如这样,反正咱们是要得到结果的。我只接把这个类的内容全贴上,里面写有注释的。高手看得懂的,帮忙改进,看不懂的菜鸟,抓紧时间 学习。 以下是类的内容: class show { //wn是波动速度 static var wn:Number = 0; //表示深度的变量 var lv:Number = 1; //原始图像的实例名 static var img:MovieClip; static var road:MovieClip; function show(mc, path) { road = path == null ? _root : path; img = mc; //把原始图像设为不可见 img._visible = false; } function wave(num:Number, speed:Number, A:Number) { num = num == null ? 50 : num; speed = speed == null ? 50 : speed; A = A == null ? 3 : A; var i:Number; //凭空生成了一个矩形元件,以用于遮罩 show.road.createEmptyMovieClip("rec", lv++); with (show.road.rec) { beginFill(0x000000, 100); moveTo(0, 0); lineTo(0, 1 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 制作flash网站的实用技巧下一篇: 手绘教程
关于位图飘动的所有评论