WEB开发网
开发学院图形图像Flash [AS 功能代码教程08] Bitmap 动态效果 阅读

[AS 功能代码教程08] Bitmap 动态效果

 2009-05-30 12:07:11 来源:WEB开发网   
核心提示: 实例2:卷动图效果[BitmapData. copyPixels()]思路:1.把图片纵向切为num条,并为每条取像素; 2.创建num个影片剪辑,[AS 功能代码教程08] Bitmap 动态效果(4),分别存放每条像素; 3.设置每个影片剪辑的X坐标;Y坐标一块比一块高; 4.结合Tw

实例2:卷动图效果[BitmapData. copyPixels()]

思路:1.把图片纵向切为num条,并为每条取像素;

2.创建num个影片剪辑,分别存放每条像素;

3.设置每个影片剪辑的X坐标;Y坐标一块比一块高;

4.结合Tween类使每个条都从天上落下。

步骤一:

在主场景中放入一位图,保存为影片剪辑,实例名为"pic",放入舞台中;

注意:该位图在pic中的注册点应为左上(0,0),以确保正确显示。

步骤二:

加入AS代码:

import flash.display.BitmapData;
import flash.geom.Rectangle;
import mx.transitions.Tween;
import mx.transitions.easing.*;
var num = 80;
//把图分成80份
var pW = pic._width/num;
//确定每份的宽度为
var pH = pic._height;
//因为切成竖条形所以高度不变
var bm1:BitmapData = new BitmapData(pic._width, pic._height);
bm1.draw(pic);
pic._visible = false;
for (i=0; i < num; i++) {
 var bm2:BitmapData = new BitmapData(pW, pH);
 bm2.copyPixels(bm1, new Rectangle(i*pW, 0, pW, pH), new Point(0, 0));
 //用i变量*每块宽度,确定取像素的位置
 var p:MovieClip = _root.createEmptyMovieClip("mc"+i, i);
 p.attachBitmap(bm2, this.getNextHighestDepth());
 p._x = i*pW;
 //排好X坐标
 p._y = -i*pH/5;
 //把Y坐标置到舞台上面去,一块比一块高
 new Tween(p, "_y", Bounce.easeOut, p._y, 0, (i/10+1), true);
 //------------------试替换代码看看效果-------------------
 //new Tween(p, "_y", Back.easeInOut, p._y, 0, (i/10+1), true);
 //new Tween(p, "_y", Strong.easeIn, p._y, 0, (i/10+1), true);
 //new Tween(p, "_y", Elastic.easeOut, p._y, 0, (i/10+1), true)
}

上一页  1 2 3 4 5 6 7  下一页

Tags:AS 功能 代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接