5ucms培训,Flash5任意两点间随机画线(二)
作者: 来源: 日期:2017/2/10 10:29:29 浏览量:16(滞后) 人气:
LOADING...(实时) 【
大 中 小】
先描述一下思路。其实很简单,先做好一个画线的MovieClip,然后当鼠标点击时读取它的坐标,并根据两点之间的距离和角度来确定画线的长度和角度——很简单吧。
简单归简单,有些读者(特别是初级闪客)恐怕还是会有不少疑问。比如,坐标系怎么确定?画线的旋转角度怎么计算?好,下面我们就从介绍Flash5的坐标系开始,进入动画的制作:
1.Flash5的坐标系
与平面几何的坐标系不同,Flash5的坐标系的 Y 轴是向下递增的(就像上面的SWF中的箭头所标示的一样,根据方框里显示的数值,你也可以看得出来)。这是第一点要注意的。第二点,坐标系的原点问题。对于主场景,它的原点就在场景的最左上角;而对于MovieClip,它的原点就是它的中心点(Center)。了解了这两点,才能更好地利用坐标。上面的SWF,使用的是一个MovieClip,我把这个MovieClip的中心点定义在它的正中央。大家看一看源文件就知道了。
2.旋转角度的计算
下面我们假设从坐标原点处开始向其他方向画线,大致可以分为四个区域,即坐标轴分开的四个区域(但是我们不能忘记坐标轴本身,下面会讲到)。由于我们事先制作的画线动画是沿着从左到右的水平方向画的,所以,在旋转它时,应该分为下面四种情况(图中的x1,y1表示画线的起点,x2,y2表示画线的终点,angel表示画线动画需要旋转的角度):
下面图一的情况是:x1$#@60;x2 and y1$#@62;=y2
这种情况下,angel = Math.atan(y/x)/Math.PI*180
下面图二的情况是:x1>=x2 and y1$#@60;y2
这种情况下,angel = Math.atan(x/y)/Math.PI*180+90
欢迎您访问www.5ucms.org