Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>设计在线>Flash|平面网页Flash视频三维欣赏|设计专题教程素材| 群乐:Vista系统下载
您现在的位置: 天极网 > 软件频道 > 设计在线 > flash > Flash AS代码实现小球沿路径移动
全文

Flash AS代码实现小球沿路径移动

2007-03-22 04:21 作者: 流浪儿 出处: 闪吧 责任编辑:Shiny
  本例中我们用Flash的ActionScript代码控制制作小球沿不规则的路径上移动的卡通动画。

  主要使用BitmapData.getPixel();函数。

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

  ActionScript代码如下:

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");
 }
};


  如对于本文有任何疑问、意见以及建议,请在文章底部的留言板上留言。或者去天极设计在线主题社区讨论。

  更多精彩,尽在天极设计在线design.yesky.com!


电脑美术设计热门专区


设计软件视频教程大全

设计软件经典教程

设计人生——数码设计人访谈实录集
·软件论坛重装上线
·精彩网页素材
·照片处理专区
·设计软件经典教程集粹
  阅读关于 Flash 动画 代码 的全部文章

网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml