//在后面的制作中多次使用flash+xml,且xml的格式基本一致,所以按编程规范来说,应该自定义一//个类来实现,或把这段代码抽象,进行代码公用,不过我没这么做,那样对没有OOP经验的人来//说理解起来有点麻烦
function parse(){
var e=music_xml.firstChild.childNodes;
count=e.length;
for(var i=0;i<count;i++){ //如果下面的代码不理解的话,看下XML类的介绍
var musicobject=new Object();
musicobject.url=e.attributes.url;
musicobject.name=e.attributes.name;
music=musicobject;
var item=this.attachMovie("select_mc","select"+i,this.getNextHighestDepth());
//注意select_mc必须有一个链接ID, 这里还是select_mc
item.id=i;
item._x=12*i; //设置item的坐标,因为每个select-mc是10px宽,间隔2px,所以这
item._y=-22; //里为12*i
item.select_txt.text=i+1; //设置item中select_txt的值
item.rec_btn.onRelease=function(){ //当rec_btn触发onrelease事件时调用soundid
//函数
soundid(music[this._parent.id].url,music[this._parent.id].name);
}
}
}
//
var soundbool=false;
var mid:Number=1;
var position=0;
var mysound:Sound=new Sound(); //定义sound对象
function soundid(url,name){ //自定义函数soundid,接收两个参数
mysound.loadSound(url,true); //可以参看Sound类的介绍
this.onEnterFrame=function(){
if(mysound.getBytesLoaded()>=mysound.getBytesTotal()){
name_txt.text=name;
mysound.setVolume(int((this._parent._x-95)*2));
mysound.start();
delete this.onEnterFrame;
}else{
name_txt.text="loading...";
}
}
}
//
start_btn.onRelease=function(){ //播放
if(soundbool==false){
soundid(music[mid-1].url,music[mid-1].name);
}else if(soundbool==true){
mysound.start(position);
name_txt.text=music[mid-1].name;
}
}
stop_btn.onRelease=function(){ //停止
上一篇:
Flash绘制精致矢量图——斑驳的秋天落叶
下一篇:
Flash绘画技巧之绘制人物侧面效果图