|
 
- 帖子
- 1677
- 积分
- 333
- 技术分
- 88
- 来自
- 重庆渝北
- 在线时间
- 620 小时
- 注册时间
- 2005-4-9
|
1#
发表于 2006-10-31 20:24
| 只看该作者
用BitmapData类的 位图飘动
可用遮罩来做位图飘动效果,下面是用BitmapData类来做的。
导入一张图片,连接名设为:51hkj
图片不能太大,否则有点慢。
以下代码放入第一帧:- import flash.display.BitmapData;
- import flash.geom.*;
- //库里的位图连接名为:51hkj
- var my51hkj:BitmapData = BitmapData.loadBitmap("51hkj");
- var mcw:Number = my51hkj.width;
- var mch:Number = my51hkj.height;
- var my51hkj2:BitmapData = new BitmapData(mcw, mch+20, false, 0xFFFFFd);
- var mc:MovieClip=this.createEmptyMovieClip("mc", this.getNextHighestDepth())
- mc.attachBitmap(my51hkj2, this.getNextHighestDepth());
- var n:Number = 8;//振幅,像素
- var k:Number = 2*(2*Math.PI/mcw);//周期
- var j:Number = 0;
- var mRect:Rectangle=new Rectangle(0, 0, 1, mch+20);
- var mPoint:Point=new Point(0,0);
- this.onEnterFrame = function() {
- j+=1;
- for (var i = 0; i<=mcw; i+=1) {
- mRect.x=i;
- mPoint.x=i;
- mPoint.y=10+n*Math.sin((i+j)*k);
- my51hkj2.fillRect(mRect,0x00FFFFFd);
- my51hkj2.copyPixels(my51hkj, mRect, mPoint);
- //my51hkj2.copyPixels(my51hkj, new Rectangle(i, 0, 1, mch), new Point(i, 10+n*Math.sin((i+j)*k)));
- }
- };
复制代码 |
|