| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
访问数组一个值得
修正多维数组复制
数组排序方法介绍
flash中数组的妙用
数组在输出中的应
AS基础精典教程 第
AS2数组使用小结
如何把xml的内容调
嵌套表和可变数组
用数组操作字符串

数组在画线中的应用一           

数组在画线中的应用一

作者:佚名 来源:闪吧 作者: 龙族酷少 更新:2007-1-13 20:48:49 错误报告 我要投稿

前些天研究了一下数组的各种用法,但是还是似懂非懂,不过感觉数组用在画线中还是比较方便的,用来存储画线的各个点,可以很方便的画出各种形状来,看看下面这个例子,应该会得到一些启示,其实主要是用来作为存储的作用……



   
点击浏览该文件


将下列代码直接复制到第一桢即可,为了更好理解,代码已经做了注释


point = new Array();//定义一个数组,从下面的变量可以看出,这是一个二维数组
i = 1;
point[0] = [100, 150];
point[1] = [150, 150];
point[2] = [150, 100];
point[3] = [100, 100];
point[4] = [100, 150];
point[5] = [100, 200];
point[6] = [150, 200];
point[7] = [150, 150];
//以上是初始化数组的一些值,每个值又是一个数组
   x = point[0][0];
   y = point[0][1];//定义画线的初始点,也就是数组的第一个值
createEmptyMovieClip("line", 1);//创建一个空影片,用于画线
line.lineStyle(1, 0x00FFFF, 100);//定义线型
line.moveTo(point[0][0], point[0][1]);//开始画线
line.onEnterFrame = function() {//在画线影片里逐桢执行
          if (x != point[i][0] && y != point[i][1]) {
      //当下一个画线的点的XY坐标都不等于当前的这个点的XY坐标的时候
          x = (x < point[i][0]) ? (x + 1) : (x - 1);//X加1或者减1
          y = (x-point[i-1][0])*(point[i][1]-point[i-1][1])/(point[i][0]-point[i-1][0])+point[i-1][1];
          //得到要画线的下个点的Y坐标,根据相似三角形原理很容易就可以得到
   this.lineTo(x, y);//画线
} else if (x != point[i][0]) {//如果Y相等但是X不相等
          x = (x < point[i][0]) ? (x + 1) : (x - 1);//直接X加1就可以了
          this.lineTo(x, y);//画线
} else if (y != point[i][1]) {//如果X相等并且Y不相等
          y = (x < point[i][1]) ? (y + 1) : (y - 1);//直接Y加1就可以
          this.lineTo(x, y);//画线
} else if (i < point.length - 1) {//当执行完这次画线以后,如果下一个点还是在数组确定的范围,继续画线
          i++;//移动到下一个点
} else {
          delete this.onEnterFrame;//如果画线到最后一个点以后,删除这个补间
}
};
点击浏览该文件


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

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