flash小球沿不规则的路径移动

By:不详 Date:2009-06-16

用了BitmapData.getPixel();来做的.原理:路径为一像素的纯色的不规则的曲线(如红色),用getPixel();记录曲线上的所有坐标.

import flash.display.BitmapData;
import flash.geom.Point;
var pointArr:Array = [];
var ypos:Number = 200;
var curve:MovieClip = this.createEmptyMovieClip("curve", 10);
with (curve) {
lineStyle(1, 0xFF0000);
moveTo(0, ypos);
for (var i:Number = 0; i<550; i += 6) {
   lineTo(i, ypos+i/10*Math.sin(i/20));
}
}
var X:Number = curve._width;
var Y:Number = ypos+curve._height;
var copyBitmap:BitmapData = new BitmapData(X, Y, true, 0);
copyBitmap.draw(curve);
var color:Number = Number(0xFF0000);
for (var i:Number = 0; i<X; i += 10) {
for (var j:Number = 0; j<Y; j++) {
   if (copyBitmap.getPixel(i, j) == color) {
    pointArr.push(new Point(i, j));
    break;
   }
}
}
copyBitmap.dispose();
var ball:MovieClip = this.createEmptyMovieClip("ball", 20);
with(ball){
lineStyle(20);
moveTo(0, 0);
lineTo(.2, 0);
}
this.onEnterFrame = function() {
ball._x = pointArr[0].x;
ball._y = pointArr[0].y-10;
pointArr.shift();
if (pointArr.length == 0) {
   delete this.onEnterFrame;
   trace("over");
}
};

参与讨论去: 艾睿(Airia) 交朋友去:友吧推荐文章去:网站贴吧
企业招聘

北京中视力天文化传媒有限公司

公司简介:北京中视力天文化传媒有限公司,是CCTV.com央视国际网络有限公司投资的互联网研发团队。我们是天使的使者。。。

招聘FlashAS程序员详情点击

Copyright 2007-2008 51AS.com Extended in kingcms 鲁ICP备06001158号