当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 教程/FLASH/插件 课件应用:制作弹簧的阻尼振荡效果

Flash动画制作
Flash 3d效果精彩实例(5)
贺新年 制作五彩缤纷焰火动画
FlashMX2004中的XML应用之原理篇
制作一个骄艳的鲜花情人Flash贺卡
有趣 用Flash制作互动的小人
Flash制作鸡年新春动画贺卡
Flash MX 2004 UI组件系列教程(3)
Flash加载外部文件(5)
Flash MX 2004 UI组件系列教程(4)
Flash加载外部文件(2)
Flash加载外部文件(3)
一个最简便的代码实现任意数字和0的来回跳转
让Flash课件中测试题信手拈来
MX中如何实现swf文件的完美跳转
三分钟理解Flash中的级别关系
flash与ASP通信的几种方法
flashMX2004视频插件的应用教程
如何做好一个多人配合的flash项目
AS计算方面的错误
如何防止SWF文件被反编译

Flash动画制作 中的 教程/FLASH/插件 课件应用:制作弹簧的阻尼振荡效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 54 ::
收藏到网摘: n/a

本实例的弹簧效果如下,拖动小球,松开鼠标后,小球就会上下运动,效果跟弹簧一模一样。



  仔细分析一下,要保证弹簧的效果,只要做好如下几个方面:长度的缩放、位置的改变、每一次改变的值大小控制。下面我们就一步一步地来实现效果。

  1、打开 MX 2004,按“Ctrl + N”新建一个场景,按“Ctrl + F8”新建一个Movie Clip,在弹出的对话框里面将其命名为“spring”,类型为“Movie Clip”。按“N”,用直线工具在此Clip的场景中绘制如图2所示的线段。


  



  2、按“Ctrl + F8”新建一个Movie Clip,在弹出的对话框里面将其命名为“weightb”,类型为“Button”。按“O”,用圆形工具在此Button的up帧的场景中绘制一个圆,并在属性面板上面设置填充圆的颜色。如图3所示,用鼠标右键点击时间轴上面的层,选取“Insert Layer”,插入一个新的图层。在新插入图层的场景中,按“N”,用直线工具绘制两个三角形,最终效果如图4所示。




  3、按“Ctrl + F8”新建一个Movie Clip,在弹出的对话框里面将其命名为“weightm”,类型为“Movie Clip”。按“Ctrl + L”打开图库,将上一步所制作的Button从图库拖到此Clip的场景中,选取场景中的Button,在Action面板上面增加如下语句:

  


on (press) {
startDrag("", false, _root.xw, _root.yw-50, _root.xw, _root.yw+50);
//拖动此Button
}
on (release) {
stopDrag(); //停止拖动Button,并设置变量
_root.drag = true;
}



  4、按“Ctrl + F8”新建一个Movie Clip,在弹出的对话框里面将其命名为“dot”,类型为“Movie Clip”。按“N”,用直线工具在此Clip的场景中绘制一条很短的线段,在属性面板上面设置其颜色为红色。

  5、回到影片的主场景中,按“Ctrl + L”打开图库,将Clip“spring”从图库拖到场景中,在属性面板上面将其命名为“spring”,在Clip的Action面板上面增加如下语句:

onClipEvent (load) {
this._x = 400; //设置弹簧的位置跟缩放比例
this._y = 125;
this._yscale = 100;
//设置变量值,_root.ys表示主场景中的ys变量
_root.ys = this._y;
_root.sp = this._yscale;
}



 6、在主场景的时间轴上面插入一个新的图层,命名为“weightm”。按“Ctrl + L”打开图库,将Clip“weightm”从图库拖到场景中,在属性面板上面将其命名为“weight”,在Clip的Action面板上面增加如下语句:

onClipEvent (load) {
this._x = 400;
this._y = 200;
_root.xw = this._x;
_root.yw = this._y;
}


  注释:设置球的位置跟相应变量值。

  7、在主场景的时间轴上面插入一个新的图层,命名为“dot”。按“Ctrl + L”打开图库,将Clip“dot”从图库拖到场景中,在属性面板上面将其命名为“dot”。

  8、在主场景的时间轴上面插入一个新的图层,命名为“actions”。分别用右键点击此层的第2、3两帧,选取插入关键帧,如图5所示。


  



  分别在第2、3两帧的Action面板上面增加如下语句:

if (drag) {
var e = 2.71828; //设置一个弹簧的比例系数
if (j<1) {
//根据球的位置,取得变量的值
y = 2*(getProperty("weight", _y)-yw);
j = 1;
}
xp = getProperty("dot", _x); //取得要绘制的曲线的点
yp = getProperty("dot", _y);
bn = "dot" add i;