高级创作 |
制作动画控制面板(一)
|
右面的flash动画的功能是能够控制动画播放状态。flash自带的播放器本身没有这个功能。先介绍一下这个动画:
1、上面风滚云涌的部分是另一个swf文件在这里命名为fengyun.swf。在主动画里用loadmovie命令调入。
2、下来的进度条大家一看就明白了,是swf文件fengyun.swf的播放进度显示,可以用鼠标拖动调节进度。
3、再下来的六个按钮的作用也很明了,用于控制播放状态。
4、最下面的文字显示了当前的播放情况。
|
|
|
现在我们来学习各个部分是怎样实现的。 |
1、调入外部swf文件 |
在动画的第一帧我们加入了语句loadMovie
("fengyun.swf", "loader");loader是预先定义的一个实例。在本例中,它是一个长宽和fengyun.swf一样的方型框,目的是让fengyun.swf能精确地定位在框内。 |
|
2、进度条制作 |
在这里,我们用了一个小技巧,小绿片的路径其实不是灰色的条,而是一个只有一条直线的电影片段,在这命名为ruler,这条直线的颜色值和灰色的条是一样的,所以看不出来,直线的实例名是slide_line。小绿片是一个只有一个按钮的电影片段,在这个电影片段的第一帧,我们加入了下面的语句
if (drag eq "true") {
tellTarget ("_root.loader") {
gotoAndStop (int((getProperty("_root.slider", _x)-5)*_root.step));//step=loader:_totalframes/200;在主动画的第二帧设置
}
}//当小绿片开始拖动时,fengyun.swf跳到相应的帧
else {
setProperty ("", _x, Number((_root.loader._currentframe)/((_root.loader._totalframes)/200))+5);
}//如果不拖动小绿片,小绿片的位置为正常移动。
在这个电影片段的第二帧加入下面的语句
gotoAndPlay (1);//跳到第一帧
|
slide_line的_x属性应这样设置:在script层的第一帧加入setProperty
("slide_line", _xscale, "1");语句,在第二帧加入语句setProperty("slider_line",_xscale,Number(loader:_framesloaded/(loader:_totalframes/100))+1); |
|
|
|
|