| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash实例教程 > 文章正文 用户登录
没有相关文章

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

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

作者:流浪儿 来源:闪吧bbs 更新:2007-3-13 19:02:12 错误报告 我要投稿

用了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");
 }
};
   
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。