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