AS2.0精彩特效之位图的飘动
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-09
??? 椭圆参数方程,是动画编程中非常常用的一种技术,可以制作很多实用的效果,例如旗帜飘动的效果,本例中随着鼠标的移动,位图就像一面旗帜随风飘动。 ? 下面我们就来学习如何使用这种技术。 一. 相关参数讲解 制作这个实例首先要了解椭圆的参数方程的使用,下面就对其算法作个简单的剖析。 1.单个mc(影片剪辑)在椭圆上的运动的处理方法 ??? 黑点表示一个mc,radian表示数学中的弧度,从x正半轴开始,按逆时针方向旋转一周为2π,通过弧度和椭圆的参数方程来计算mc的坐标,如图1所示,具体表示方法(注:*表示代码中的乘号): mc._x=a*Math.cos (radian); mc._y=b*Math.sin(radian); ? ??? a、b分别是椭圆在x、y坐标轴上的载距,代表椭圆的大小, radian不断递增即可实现mc坐标的变化,使mc在椭圆上的运动。椭圆的中心坐标为(0,0)。要平移椭圆,把mc的坐标加上中心坐标(cen_x,cen_y),具体表示方法: mc._x=a*Math.cos (radian)+cen_x; mc._y=b*Math.sin(radian)+cen_y; ? ? 2、多个mc分布在椭圆上的处理方法 ? ??? 如果是多个mc分布在椭圆上,情况又会不同,如图2所示。以均匀分布在椭圆上为例,一个圆周为p=2π,且有num=4个mc,这些mc的弧度如下表所示:
??? 从表格的第二行可看出,四个mc的间距是p/4=π/2。第三行是这些弧度的计算方法:间距乘上一个数值。用num代替4,用一个变量j代替数值,就可算出num个mc的弧度值,继而求出mc的坐标。如下所示: for(var j=1;j<=num;j++){ ? var radian= p/num*j;//两个mc的间距乘上j即每个mc的弧度 ? this[“mc”+j]._x=a*Math.sin(radian); ? this[“mc”+j]._y=b*Math.cos(radian);//通过弧度值计算每个mc的坐标 } ? ? ??? 如果要分布在半个椭圆,或以一定的间距分布在椭圆的一部分,只要改变两个mc的间距弧度。 3、mc属性的设置方法 ???? 为符合透视规律,要设置mc的属性:透明度、深度等,如图2中mc1的透明度最小,mc2和mc4次之,mc3最大,其它的属性的变化规律与透明度相同。而这些mc都是沿着椭圆运动的,所以要根据mc实时的位置来设置mc的属性。最简单的方法是用mc的y坐标,它的变化规律符合上述特征。还可用mc的x坐标、mc的弧度、mc到椭圆中心的距离等,但必须转换。下面以mc的x坐标为例: ??? 图3????????????????????????????????????图4 ??? 如图3,通过余弦函数计算出的x坐标有正有负,而mc的透明度不可能为负,所以当x为负时,要进行转换,取反或取绝对值。当mc位于x轴下方时(π-2π),从图4可知此时y<0,x坐标应比a大,所以x=2*a-Math.abs(x)。 转换前后列表如下:
? [1]?[2]?下一页?? 4.制作类 算法清楚后,把它写成类,方便以后使用。类如下: class Move { ? private var p = 2*Math.PI;//数学中的2π ? private var c_x, c_y, c_a, c_b, nu, time:Number; ? //依次为中心坐标(c_x, c_y),截距(c_a, c_b),nu为mc的数目,time为弧度增量 ? private var obj:MovieClip; ? //构造函数 ? public function Move(x, y, a, b, n, t:Number, o:MovieClip) { ??? c_x = x; ??? c_y = y; ??? c_a = a; ??? c_b = b; ??? nu = n; ??? time = t; ??? duplicate(o);//调用复制函数 ? } ? //得到和设置弧度的起始增量 ? public function get timer():Number { ??? return time; ? } ? public function set timer(t:Number):Void { |
|||||||||||||||||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: FLASH特效之数字天地下一篇: 制作一个骄艳的鲜花情人Flash贺卡
关于AS2.0精彩特效之位图的飘动的所有评论