有朋友要求介绍flash场景音乐播放器的做法,我就根据自己的体会介绍一下。不当之处,请朋友们指正。 这是一个简单实用的flash场景音乐播放器,用以控制flash动画场景的播放,同时也就可以控制其中的音乐播放。所以,也可以作为flash音乐播放器来使用。我做的一些音乐收藏欣赏的flash就是使用的这种功能。 下面是一个例子。

一、先分别制作三个按钮元件备用。一个是播放按钮,一个是停止(暂停)按钮,一个是返回按钮。做成什么样子的都可以。上图中下方左面的三个按钮就分别是播放按钮、停止按钮和返回按钮。
二、下面开始制作滑动条的元件。元件类型都是影片剪辑。一个是滑动槽,即一个长条。这个比较简单,做成什么样子的都可以了。参考上图下方的滑动条。 三、另一个是滑块,即一个小长方块。这个看似简单,但却是这个播放器中的一个核心元件,滑动块能否按进度滑动,就看这里的制作了。这里也要分别制作两个影片剪辑元件。 一个是滑块图形的影片剪辑元件。一个是动作命令影片剪辑元件。 滑块图形的元件做相应的图形就可以了。如上图中的滑块图形。 而动作命令的剪辑就复杂一些了。这个影片剪辑(这里命名为“as”)的场景中不用放任何东西,但要在图层中添加as命令。 在第一个关键帧上,打开动作面板,添加如下语句: if (!_load) { _load = 1; tellTarget ("..") { pathToControl = _root; isDragging = false; progressWidth = _parent.progressBar._width; setProperty(_parent.progressBar, _width, 1); null; this._parent._x = 0; } } nextFrame(); play();
在第三帧上添加空白关键帧,再打开动作面板,添加如下语句: tellTarget ("..") { if (isDragging) { gotoAndStop("pathToControl:"+Math.floor(pathToControl._totalframes/_parent.sliderTrack._width*this._parent._x)); setProperty(_parent.progressBar, _width, this._parent._x*(progressWidth/_parent.sliderTrack._width)); null; } else { this._parent._x = _parent.sliderTrack._width/pathToControl._totalframes*pathToControl._currentframe; setProperty(_parent.progressBar, _width, this._parent._x*0.999000); null; } } gotoAndPlay(2);
从以上这些语句可以看出,它的内容就是根据动画运行到哪个帧来确定滑块的位置。并不是去控制音乐的,只是因为音乐在场景中,所以同时得到控制。具体地,我也是知其然而不知其所以然的。我就是复制代码,直接使用。如果你跟我一样,懂得不那么多,那也不妨就直接复制使用就是了。
四、组装滑动块。新建影片剪辑“滑动块”,在图层1中放入制作好的滑块影片剪辑元件,并在属性面板中将实例命名为slider。 新建图层,拖入影片剪辑“as”,就是只有as命令的那个影片剪辑。 这两个图层都只一个关键帧。
五、再组装滑动条。新建影片剪辑元件“滑动条”,在图层1放入前面制作的滑动槽元件。并在属性面板中将它的实例命名为sliderTrack。 在新建图层中放入“滑动块”元件,并在属性面板中将它的实例命名为sliderBar。两个图层也都是只有一个关键帧。
六、以上各个元件都做好了。就可以“总装”了。 回到场景中来,将前面做好的播放按钮、停止按钮、返回按钮、滑动条剪辑,拖放到适当的位置。然后给按钮元件添加相应的as命令。
点击播放按钮,打开动作面板,添加如下语句(即添加按钮动作):
on (release) { play(); }
点击停止按钮,打开动作面板,添加如下语句: on (release) { stop(); }
点击返回按钮,打开动作面板,添加如下语句: on (release) { gotoAndStop(1); }
七、播放器总装完毕。但还有几个要做到的事情。一是将场景中的音乐的同步方式设置成为“数据流”。 二是新建AS层,分别在第一帧和动画的最后一帧建立关键帧,分别输入stop();语句。(老虎注:最后一帧建立关键帧,代码:gotoAndStop(1);) 三是将播放器所在的图层也延长到与整个动画和音乐的帧数相同。
这些工作全做完了,就按 ctrl+enter试试吧。点击播放按钮,开始播放动画和音乐;点停止按钮,停止播放;再点播放按钮,从刚才停止的位置继续播放;点返回按钮,滑块返回到起点,动画也返回到起点。
(老虎注:音乐、动画均放第二帧)
|