分享

制作简单实用的flash场景音乐播放器

 yipianyun1116 2014-07-17

有朋友要求介绍flash场景音乐播放器的做法,我就根据自己的体会介绍一下。不当之处,请朋友们指正。
    这是一个简单实用的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试试吧。点击播放按钮,开始播放动画和音乐;点停止按钮,停止播放;再点播放按钮,从刚才停止的位置继续播放;点返回按钮,滑块返回到起点,动画也返回到起点。

    (老虎注:音乐、动画均放第二帧)


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多