再学AS3(六)——音乐播放器(6):…

再学AS3(六)——音乐播放器(6):添加歌曲显示列表
功能:
点击菜单(MENU)按钮弹出对话框,对话框中有两个选项,一个是添加本地歌曲,一个是显示歌曲列表;点击添加本地歌曲,可选择本地上的MP3音乐,添加之后,可将刚才选择的文件显示在显示歌曲列表中;当点击列表中的任何一个选项,可将该选项在播放器面板中显示出来;也可点击显示歌曲列表中的收起(RETRACT)收起歌曲列表。

制作过程:
1、新建FLASH CS3文档,保存名为“音乐播放器”,保存在存有音乐的文件夹内。设置文档大小:252×114像素,帧频:24fps。
2、第一层名为“播放器背景”,在该层画一个播放器背景。
3、新建图层,名为“菜单按钮”,画一个三角形,转换为按钮元件,在“指针经过”的帧上打上文字“MENU”(即“菜单”),把该按钮放在场景中的左上角,其实例名为“cd_btn”。
再学AS3(六)——音乐播放器(6):添加歌曲显示列表
4、新建图层,名为“歌曲名”,拉一个动态文本,放在场景中的合适位置,其实实例名为“gm_txt”。
再学AS3(六)——音乐播放器(6):添加歌曲显示列表
5、创建两个矩形按钮,一个是“添加本地歌曲”,另一个是“显示歌曲列表”,并且分别打上文字“添加本地歌曲”和“显示歌曲列表”;新建影片剪辑,名为“cd_mc”,在该剪辑中画一个矩形作为背景,并把刚才制作的两个按钮拖进来,其实例名分别为“tjgq_btn”、“lbxs_btn”;从库中把名为“cd_mc”的影片剪辑拖入到场景合适的位置上,实例名为“cd_mc”。
再学AS3(六)——音乐播放器(6):添加歌曲显示列表
6、新建图层,名为“歌曲列表背景”,把第一层的播放器背景复制到该图层上,并转换为影片剪辑,在场景中的实例名为“gqlbbj_mc”;双击该影片剪辑,在其中新建图层名为“收起按钮”,画一个三角形,转换为按钮元件,在“指针经过”的帧上打上文字“RETRACT”(即“收起”),把该按钮放在播放器背景的中底部,其实例名为“sqlb_btn”。
再学AS3(六)——音乐播放器(6):添加歌曲显示列表
7、新建图层,名为“AS”,在帧上写如下代码:


var file:FileReferenceList;
var dzarr:Array=new Array();
var p:int
var gqlb_mc:Sprite=new Sprite();
addChild(gqlb_mc);
gqlb_mc.visible=false;
cd_mc.visible=false;
gqlbbj_mc.visible=false;
//显示菜单
cd_btn.addEventListener(MouseEvent.CLICK,xscd);
function xscd(e:MouseEvent):void {
 cd_mc.visible=true;
}
//歌曲列表收起
gqlbbj_mc.sqlb_btn.addEventListener(MouseEvent.CLICK,sqlb);
function sqlb(e:MouseEvent):void {
 gqlbbj_mc.visible=false;
 gqlb_mc.visible=false;
}
//点击添加本地歌曲按钮弹出我的电脑
cd_mc.tjgq_btn.addEventListener(MouseEvent.CLICK,lldj);
function lldj(event:MouseEvent):void {
 cd_mc.visible=false;
 file = new FileReferenceList();
 file.addEventListener(Event.SELECT,select);
 file.browse([new FileFilter("mp3文件","*.mp3")]);
}
//选择MP3文件并创建歌曲列表
function select(e:Event):void {
 removeChild(gqlb_mc);
 gqlb_mc=new Sprite();
 addChild(gqlb_mc);
 gqlbbj_mc.visible=true
 gqlb_mc.visible=true
 dzarr.splice(0,dzarr.length);
 dzarr=new Array();
 var f:FileReference;
 for (var m:int = 0; m < e.target.fileList.length; m++) {
  f = FileReference(e.target.fileList[m]);
  dzarr.push(f.name);
 }
 //最多为歌曲列表添加10首歌曲
 if (dzarr.length>10) {
  dzarr.splice(10);
 }
 for (var m1:int = 0; m1 < dzarr.length; m1++) {
  var txt:TextField=new TextField();
  txt.width=108;
  txt.height=18;
  txt.selectable=false;
  txt.textColor=0x006600;
  gqlb_mc.addChildAt(txt,m1);
  txt.x=(m1%2)*128+6;
  txt.y=int(m1/2)*20+4;
  txt.text=(m1+1)+"."+dzarr[m1].replace(".mp3","");
  txt.addEventListener(MouseEvent.CLICK,xzgq);
  txt.addEventListener(MouseEvent.MOUSE_OVER,jggqlbx);
  txt.addEventListener(MouseEvent.MOUSE_OUT,ycgqlbx);
  txt.name="txt"+m1;
 }
 p=0
 gm_txt.text=dzarr[p]
 cd_mc.lbxs_btn.addEventListener(MouseEvent.CLICK,xsgqlb);
}
function xsgqlb(e:MouseEvent):void {
 cd_mc.visible=false;
 gqlbbj_mc.visible=true;
 gqlb_mc.visible=true;
}
//鼠标经过歌曲列表项
function jggqlbx(e:MouseEvent):void {
 e.target.textColor=0x000000;
}
//鼠标移出歌曲列表项
function ycgqlbx(e:MouseEvent):void {
 e.target.textColor=0x006600;
}
//选择歌曲
function xzgq(e:MouseEvent):void {
 gqlbbj_mc.visible=false;
 gqlb_mc.visible=false;
 p=e.target.name.substr(3);
 gm_txt.text=dzarr[p]
 e.target.textColor=0x000000;
}

你可能感兴趣的:(再学AS3(六)——音乐播放器(6):…)