用Flash MX演示匀加速直线运动动画
前几天,同事问我能否制作物体作匀加速直线运动的动画,心想刚刚学会了FlashMX,正想练练身手呢,FlashMX的ActionScript可以完成非常复杂的动画,小小的匀加速直线运动动画又何足挂齿呢,赶紧动手吧。 <P></P><P> 创建Symol(符号)</P><P> 通过菜单“Insert→New Symol”命令新创建下列几个Symol(符号):</P><P> 1、一Movie Clip(电影夹子),命名为“Dolly”,绘制一个矩形,代表小车。</P><P> 2、三个Button(按钮),制作成矩形或圆形,分别代表Play(开始)、Stop(停止)、Restart(返回)。</P><P> 程序具体制作</P><P> 1、进入Scene(场景),将当前图层Layer1命名为“小车”,从Library中拖入制作好的小车Movie Clip,放置到合适位置上,并将Movie Clip小车的“Instance Name”命名为“Dolly”:选中小车,在下方的Properties(属性)面板中的“Instance Name”栏中输入“Dolly”。</P><P> 在小车图层的第一个关键帧处输入Actions语句:</P><P> stop();</P><P> s0=getProperty(“/dolly”,_x);//设置Dolly水平方向初始位置属性</P><P> t = 0;</P><P> a = 2; //设置加速度为2</P><P> x = 0;</P><P> v = 0;</P><P> 在小车图层中第二帧处插入一个Keyframe(关键帧),保持小车的位置不变,输入Actions语句:</P><P> t = t+0.5; //设置时间间隔</P><P> s = s0+0.5*a*t*t;</P><P> x = s-s0;</P><P> v = a*t;</P><P> setProperty(“/dolly”,_x,s);//设置函数的属性</P><P> 2、新建图层Layer2,命名为“主界面”,在编辑区中输入“匀加速直线运动”几个字,并输入“s=m、a=m/s2、v=m/s、t=s”等文本,在“s=”与“m”之间插入文本框:选择工具栏中文本输入工具,在编辑区中“s=”与“m”之间单击,插入一个输入文本框,调整好大小,在下方的Properties(属性)面板中,文本属性选择“Input Text”,选中[显示边框]按钮,在“Var”栏中输入“x”,将文本框命名为“x”,如图1所示。</P><P> 同样方法在“a=”与“m/s2”之间、“v=”与“m/s”之间及“t=”与“s”之间分别插入文本框,并分别命名为“a”、“v”、“t”。</P><P align=center><IMG src="http://news.newhua.com/Newhua_Files/Net_pic/2005-11/1/1_2-68-897-8_20021014132515.jpg" border=1><BR>图1</P><P> 绘制一条标明刻度的直线,表示小车运动的平面,从Library中拖入Play、Stop、Restart三个按钮,调整好各部分之间的位置,如图2所示。在三个按钮中分别输入Actions语句:</P><P align=center><IMG src="http://news.newhua.com/Newhua_Files/Net_pic/2005-11/1/1_2-68-898-8_20021014132516.jpg" border=1><BR>图2</P><P> (1)Play按钮</P><P> on(release){</P><P> play();</P><P> }</P><P> (2)Stop按钮</P><P> on(rollover){</P><P> stop();</P><P> }</P><P> (3)Restart按钮</P><P> on(release){</P><P> gotoandplay(1);</P><P> x=0;</P><P> v=0;</P><P> t=0;</P><P> setProperty(“/dolly”,_x,s0);</P><P> }</P><P> 3、新建图层Layer3,命名为“运动”,在运动图层第三帧处插入一个Keyframe,输入Actions语句:</P><P> gotoandplay(2);//播放完第三个关键帧后再从第二个关键帧开始播放</P><P> 最后制作完成的程序界面如图2,按下“Ctrl+Enter”测试一下,效果不错吧!若感到速度有点慢,修改一下加速度就可以了。</P>页:
[1]