快速业务通道

竖直方向的弹簧振子效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-09

  将直线画成一个弹簧状,确定好一端的静止坐标,另一端用振子的动坐标表示,而弹簧的长度用解析几何知识中的直线公式求得,我们便能方便地制作出一个物理模型----弹簧振子。通过这个实例的学习,我们可以掌握画直线的一种方法。  1、建立新文档。创建小球ball和弹簧spring的图形符号,如图1所示
图1   如果你画不好弹簧,当然也可以画一根直线做为“橡皮筋”代替弹簧。  2、创建振子上下振动的动画mc_ball。将小球ball拖入场景上方,在10、20、30、40帧插入关键帧。然后在相关帧将球拖放至相关位置,并在相应帧设置好速度变化值,如图2所示
图2  3、进入主场景,将图形符号ball、弹簧spring和电影剪辑mc_ball拖入。Ball命名为a2,置于舞台中央上方,做为一个端点,。Mc_ball命名为a1,置于ball的下端,。弹簧命名为p,可放在任意位置。如图3所示。
图3  4、新建一脚本层,加上脚本:
//建立事件处理函数 onEnterFrame=function()
{ //定义下端点坐标
x1=a1._x+_root.a1.ball._x;
y1=a1._y+_root.a1.ball._y;
//定义上端点坐标 x2=a2._x;
y2=a2._y;
dx=x2-x1;
dy=y2-y1;
//计算直线(外形为弹簧)长度 l=Math.sqrt(dx*dx+dy*dy);
with(_root.p)
{
//设置弹簧下端点位置及长度变化 _x=x1;
_y=y1;
_xscale=l;
}
}
  脚本说明:对这个只有一帧的动画,要求反复调用执行,需要建立“事件处理函数”,使其能处理与EnterFrame电影剪辑相关联的动作。

  第3、4行的下端点坐标由两部分组成:一是a1放置在舞台上的静止坐标,二是a1向下振动的动坐标。第7、8、9是计算弹簧的长度,这个长度由dx的平方加dy的平方再开平方确定,即l=Math.sqrt(dx*dx+dy*dy)。这里需要一点解析几何的知识,如果你忘记了,应该补一下课。由于X1、Y1是随小球的上下振动而变化的,所以弹簧的长度也是变化的。   源文件下载(4.6K)  语法小常识:
● myMovieClip.onEnterFrame
说明:事件处理函数;以影片帧频持续调用。首先处理与 enterFrame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本。 必须定义一个在调用该事件时执行的函数。 ● Math.sqrt(x)
参数:x 一个大于等于 0 的数字或表达式
返回:一个数字
说明:方法;计算并返回指定数字的平方根
  有问题请与xiaozzs@163.net联系,欢迎访问 Flash 课件室http:// xiaozzs.home.100point.com ?
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号