仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 817|回复: 8
打印 上一主题 下一主题

[学习教程] FLASH教程之AS3教程:Point类盘算两点间间隔-Flash actionscript

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 21:03:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用于设计和编辑Flash文档。1996年11月,美国Macromedia公司收购了FutureWave,并将其改名为Flash。后又被Adobe公司收购。
当要运算两点间隔时,我见很多人都是用最原始的运算办法,实在2.0入手下手就有了Point类,能够盘算两点间间隔,除此以外,Point类还可用于盘算矢量,某些看似庞大的盘算,用上Point类就会变得复杂。固然,要巧用Point类,必须要有矢量的常识。固然,3.0的Point类和2.0的区分不年夜,但我之以是把这帖放在as3会商区,是由于as3的Point类普遍地被其他类使用。最分明的是globalToLocal和localToGlobal这两个办法,2.0这两个办法的参数和前往值都是Object,但3.0都变成Point类了,使得Point类的使用改名正言顺了。

空话少说,言回正转,起首我们看看Point类的属性:
x:Number——该点的程度坐标
y:Number——该点的垂直坐标
length:Number——从(0,0)到此点的线段长度(只读属性)
从length属性我们能够看到,实践上一个Point类的实例是一个以(0,0)为始点,以(x,y)为尽头的矢量,因而,我们能够使用Point类举行一些复杂的矢量运算。如今我们看看Point类给我们供应甚么有效的办法:

distance(pt1:Point,pt2:Point):Number——前往pt1和pt2之间的间隔。这个就是人人傻傻地用Math.sqart()写一长串代码盘算出来的两点间间隔了。

add(v:Point):Point——将另外一个点的坐标增加到此点的坐标以创立一个新点。还记得矢量相加的多少意义吗?

设a、b为矢量,则a+b=c,图中矢量c就是矢量a加矢量b的了局。

这个用来盘算协力最便利。我们能够把物体的重心放到(0,0)点上,然后能够使用Point类的add办法复杂盘算各类力的协力。你大概会提出一个成绩:怎样把力转换成点的坐标呢?上面这个办法能够帮你办理这个成绩。

polar(len:Number,angle:Number):Point——将一对极坐标转换为笛卡尔点坐标。
学过物理力学的人都晓得,力是有巨细无方向的矢量,而这个办法恰好供应了把力转换成点坐标的办法。len就是力的巨细,angle就是力角度。转换后盘算协力,得出协力的坐标点,再读取这点的length属性,便可失掉协力的巨细,再使用Math.atan2(y,x)盘算力的偏向。多复杂的运算!

offset(dx:Number,dy:Number):void——按指定量偏移Point工具。dx的值将增加到x的原始值中以创立新的x值。dy的值将增加到y的原始值中以创立新的y值。这个要和add辨别开来,由于offset是间接把值加到x、y值上。

subtract(v:Point):Point——今后点的坐标中减往另外一个点的坐标以创立一个新点。既然有了加法,固然有减法了。看看矢量的减法意义:

设a、b为矢量,则b-a=c,图中矢量c就是矢量b减往矢量a的了局。

用这个运算,你能够便利地只用一个Point类实例来纪录某两点间的间隔和斜率。在某些场所,这个很有效。比方当必要盘算和纪录某点汇合里各点与其他点之间的干系时,假如分离运算间隔和角度,你得用两个逐一对应的数组纪录,固然也能够用一个多联数组,但相对比不上用一个Point类实例构成的一维数组复杂很多,假如要对这些了局举行对照大概有下一步运算时,用这类办法更显上风。

interpolate(pt1:Point,pt2:Point,f:Number):Point——断定两个指定点之间的点。参数f断定新的内插点相对参数pt1和pt2指定的两个端点所处的地位。参数f的值越靠近1.0,则内插点就越靠近第一个点(参数pt1)。参数f的值越靠近0,则内插点就越靠近第二个点(参数pt2)。
这个办法更了不得。由于它能帮我们断定两点之间的一点,只需我们晓得这点在线段中地位。实践上f是一个比例值,
f=待定点到pt2的间隔/整条线段的长度
这个用来盘算一些已知比例干系的点很便利。比方求舆图上的某点在实践场景上的点坐标,我们只需拔取一段过这点的线段,盘算出f,就能够代进实践场景中对应线段,求出对应的点。

normalize(thickness:Number):void——将(0,0)和以后点之间的线段缩放为设定的长度。这个实践上就是设置矢量的巨细的办法。失掉的了局是矢量的巨细变成设定值,x、y值改动了,可是矢量的偏向稳定。

从Point类的属性和办法看,Point类实践上是一个彻彻底底的矢量类,它几近包括了一切关于矢量的基础运算。以是,要盘算矢量,应优先思索利用Point类。

PS:顺带说说globalToLocal和localToGlobal,这两个办法在as3里是DisplayObject的办法,它们能够便利地随便地转换分歧显现工具中的绝对坐标,它的参数和前往值都是Point类实例,以是在as3里使用Point类盘算点与点间的干系,更具上风。比方mc1中有一点p1(x1,y1),mc2中有一点p2(x2,y2),假如mc1和mc2的干系很庞大,请求p1到p2的间隔,假如不必这两个办法,这个运算就很庞大,用上它们就复杂很多了,所求的间隔d=Point.distance(p2,mc2.globalToLocal(mc1.localToGlobal(p1)));
flash动画制作软件的界面没有太大的改变,只是在以前的属性面板右侧增加了两个新的选项“参数”和“滤镜”。
海妖 该用户已被删除
沙发
发表于 2015-1-17 15:29:37 | 只看该作者
对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-24 12:02:37 | 只看该作者
flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势;
莫相离 该用户已被删除
地板
发表于 2015-2-1 11:11:04 | 只看该作者
所以不要使用不必要的高祯率 - 否则老的、慢的计算机在显示动画时会阻塞。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-7 07:58:59 | 只看该作者
FLASH在网站建设中广泛的应用,但是FLASH也有自身的缺陷,尤其考虑到网络营销的综合效果时,FLASH 格式的广告并非最好的选择,有时甚至会降低广告效果。
小魔女 该用户已被删除
6#
发表于 2015-2-21 12:04:50 | 只看该作者
FLASH动画在如今的很多网站中都比较常见,其所独有的视觉效果和感染力成为各行各业宣传企业形象、推广产品的最佳平台。
柔情似水 该用户已被删除
7#
发表于 2015-3-6 21:26:02 | 只看该作者
没有安装FLASH插件的前提下,无法正常显示广告效果。根据调查显示,有3%的互联网用户没有安装shockwave Flash。虽然比例不大,但不能因为这样一个简单的原因而拒绝这些用户。
兰色精灵 该用户已被删除
8#
发表于 2015-3-13 22:27:36 | 只看该作者
FLASH网站建设的页面非常美观,互动性很强。在企业网站中,FLASH动画作用主要在于突出企业品牌的效应,彰显企业形象的实力。
不帅 该用户已被删除
9#
发表于 2015-3-20 21:44:40 | 只看该作者
随着动漫发展趋势,我国也越来越重视动漫产业的发展,各种制作动画软件应运而生,其中flash比较突出。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 19:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表