快速业务通道

位图飘动

作者 佚名技术 来源 服务器技术 浏览 发布时间 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 duplicateMovieClip("rec", "rec"+i, lv++);
//让这些矩形按规律排开,恰好盖住图片
show.road["rec"+i]._x = img._x+img._width/num*i;
show.road["rec"+i]._width = img._width/num;
}//把要实现效果的图片,再复制若干份,num是份数
for (i=0; i duplicateMovieClip(img, "img"+i, lv++);
}//把每一个矩形,设成相应的图片的遮罩。
for (i=0; i show.road["img"+i].setMask(_root["rec"+i]);
}这时候,就成了,一个矩形遮罩一个图片,每个图片都成了窄窄的一条,一字排开,你一点也看出有缝隙,还是一张吗,呵呵。
然后,我们让这里图片,有规律的运动,就行了。
show.road.onEnterFrame = function() {
for (i=0; i with (show.road["img"+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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号