论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

AS巧用导线

文章类别:Flash | 发表日期:2008-9-21 15:08:07

  其实这是个很简单的技巧,就是利用导线来记录一系列坐标点,再利用记录下的数据做些非凡的事。比如勾画图形轮廓,绘制游戏地图等。下面就是我做的两个实例,本来没打算拿来献丑的,但是也许有人能用得上:
点击浏览该文件
点击浏览该文件
点击浏览该文件
点击浏览该文件
由于我是在网吧上的,安装Flash很不方便,开不了原文件,我就只有凭印象给大家讲了:上面的第一个实例中直接使用了一大堆的坐标数据(大概700多个点),这些数据就是由导线获得的。第二个实例则是在运行过程中获得坐标数据,而且对数据作了处理,只保留其中的要害点(拐弯的点),假如是要做游戏地图(路线图),只取要害点就可以了,而且使数据量大大减少。

1。如何用导线获得坐标数据呢?很简单,把一个空的MC放在导线上运动,同时用一个数组不断记录MC当前的坐标,这样就可以将导线用数据记录下来了,相信大家都会这个。

2。在实例一中,点的出现是随机的,以至直到最后我们才可以看清图形,这是怎么实现的呢?其实也很简单,在0~N个数组元素中随机抽取一个,作为新增加的点(添加一个MC)的终点坐标(起点坐标是随机的,也可以不随机),然后让这个MC自己从起点移动到终点去,我们就不再管它了,而且刚才抽到的数组元素也用不着了,把它删掉,以免再次抽到。再在剩下的数组元素中随机抽取。。。。。一直到数组抽空为止。注重:请用帧循环来实现,假如想用for循环等循环语句来一次性完成所有的点,机子会罢工的。

3。在实例一中,还有个值得注重的地方:沿着导线顺序,点的生成时间是无序的(这是随机添加造成的后果),然而最终 点的闪烁却是有序的,这又是如何实现的呢。这个其实也不难,只是需要计算一下MC被加载时应该从哪一帧开始播放(本例中MC有2帧),计算时需要知道的数据有两个:一是当前主场景已经播放的帧数,二是当前所抽取到的坐标在导线上排第几位(所以最好在原来的数组里添加一项用于记录序号,因为数组元素删除后,部分元素下标是会改变的,不能作为序号。我也记不得当初我是怎样做的了,这样做应该比较好),有了这两个数据就可以算了,具体的计算我就不说了,看了原文件就能明白。
4。最后还是说一下实例二中是怎么取要害点的吧,这个涉及到一些数学知识,我恐怕讲不太明白。其基本思路就是比较相邻3(4个也可)个点构成的两条直线间的角度差,假如角度差很小,说明中间的那个点可以忽略掉,不作记录。举个例:判定点b是否是要害点,那么我们就需要知道它的前一个点(假设为a)和后一个点(假设为c)的坐标,然后比较一下直线ab和直线bc之间的角度差,假如差值小于0.05度,那么我们就可以认为ab与bc重合,而b点位于直线ac上,b点就不是要害点,可以不作记录,反之假如角度差很大,说明b点离直线ac较远,是一个要害点。(说道这里,其实一开始就比较b点与直线ac的距离岂不是简单些,想想自己真够迟钝的),原程序中的具体实现也许和我讲的有些许出入(修改多次,都记不清了),但大方向是一致的。
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058