分享
 
 
 

用flash写 一个mp3播放器

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

前二天在网上看了一个flash写的,

于是自己就改进了一下,修改了若干BUG,增加了一些功能。

主要的AS如下:

-------------------------------------------------------------------------------------

// Action script...

var myXML = new XML();

var mySound = new Sound();

var TrackCount = 0;

// [Action in Frame 1]

fscommand("allowscale", "false");

fscommand("showmenu", "false");

Stage.scaleMode = "noScale";

_quality = "height";

var fmt = new TextFormat();

fmt.font = "Tahoma";

fmt.size = 12;

//format

LCD.main.createTextField("mainText", 1, 0, 0, 78, 18);

LCD.main.mainText.selectable = false;

LCD.main.mainText.setTextFormat(fmt);

LCD.createTextField("hintText", 1, 4, 5, 78, 18);

LCD.hintText.setTextFormat(fmt);

var player = {};

player.selectedIndex = -1;

player.maxIndex = -1;

player.selectedItem = {};

player.subject = "";

player.mode = 0;

player.rplay = false;

player.intplay = true;

player.playtime = 3;

player.volumeValue = 70;

player.panValue = 0;

player.stoped = true;

player.setDefault = function() {

with (LCD) {

pause._visible = false;

play._visible = false;

stop._visible = true;

main.mainText.text = "已经全部就绪";

}

mySound.isLoaded = false;

stopjump();

progressbar.preloadBar._x = -147;

progressbar.loadBar._x = -147;

progressbar.semiBar._x = -147;

};

player.setDefault();

this.mp3list._visible = false;

this.copyright._visible = false;

this.LCD.max._visible = false;

this.volume.dot._x = 70-player.volumeValue/100*20;

//this.pan.dot._x = 70-player.panValue/100*20;

this.LCD.volumeLeft._width = player.volumeValue/100*20;

this.LCD.volumeLeft._x = 120-player.volumeValue/100*20;

this.LCD.volumeRight._width = player.volumeValue/100*20;

this.LCD.pan._x = 110+player.panValue/100*10;

this.LCD.stop._visible = true;

this.LCD.play._visible = false;

this.LCD.pause._visible = false;

this.LCD.repeatAll._visible = false;

this.LCD.repeatOne._visible = false;

var textMask = this.LCD.createEmptyMovieClip("textMask", 100);

textMask.beginFill(0, 100);

drawRectangle(textMask, 78, 18.5, 6, 6);

this.LCD.main.mainText.autoSize = true;

this.LCD.main.setMask(LCD.textMask);

setInterval(function () {

LCD.main.mainText._x--;

if (LCD.main.mainText._x<LCD.main.mainText._width*-1) {

LCD.main.mainText._x = LCD.textMask._width;

}

}, 80);

setInterval(function () {

if (player.intplay) {

player.select(0);

player.intplay = false;

}

}, 100);

player.select = function(index) {

mp3list.mc.sList.shape._y = index*16+mp3list.mc.sList._y;

player.selectedIndex = index;

player.hasplay[index]++;

player.selectedItem = eval("mp3list.mc.sList.l"+index);

player.subject = player.labelAry[index];

player.artist = player.artAry[index];

LCD.main.mainText._x = 0;

LCD.main.mainText.text = player.subject+"(Artist:"+player.artist+")";

mySound.isLoaded = false;

mySound.preloadDuration = 0;

mySound.start(0);

mySound.stop();

stopjump();

mySound.loadSound(player.dataAry[index], true);

mySound.setVolume(player.volumeValue);

mySound.start(0);

playjump();

mySound.allcomplete = false;

Mshow.trackText.text = (index+1)+"/"+TrackCount;

var goFrame = player.levelAry[index];

Mshow.levelText.gotoAndStop(Number(goFrame)+1);

LCD.stop._visible = false;

LCD.pause._visible = false;

LCD.play._visible = true;

setInterval(function () {

LCD.time.text = formatTime(mySound.position/1000 | 0);

}, 500);

};

//System.useCodepage=true;

myXML.ignoreWhite = true;

myXML.load("mp3list.xml");

myXML.onLoad = function(succ) {

if (succ) {

LCD.main.mainText.text = "载入播放清单完成,可以欣赏音乐了.";

var _l3 = this.firstChild.childNodes;

var labelary = [];

var dataary = [];

var artary = [];

var hasplay = [];

var levelary = [];

var _l1 = 0;

TrackCount = _l3.length;

while (_l1<TrackCount) {

labelary[labelary.length] = _l3[_l1].attributes.n;

dataary[dataary.length] = _l3[_l1].attributes.f;

var _l2 = _l3[_l1].attributes.a;

_l2 = _l2 != undefined ? (" - "+_l2) : ("");

artary[artary.length] = _l2;

var _l4 = _l3[_l1].attributes.l;

_l4 = _l4 != undefined ? (_l4) : ("0");

_l4 = _l4 > 5 ? ("5") : (_l4);

levelary[levelary.length] =_l4;

hasplay[hasplay.length] = 0;

_l1++;

}

player.maxIndex = Math.min(labelary.length-1, dataary.length-1);

player.labelAry = labelary;

player.artAry = artary;

player.dataAry = dataary;

player.levelAry = levelary;

player.hasplay = hasplay;

getMp3List(mp3list, labelary, artary, 158, 98);

Mshow.trackText.text = TrackCount ;

} else {

LCD.main.mainText.text = "载入播放清单出错了";

}

};

function randomplay() {

var j = 1;

while ( j<=player.playtime ) {

var i = 0;

while (i<TrackCount) {

var activeTrack = random(TrackCount-1);

activeTrack = activeTrack+1;

if (player.hasplay[activeTrack]<j) {

player.select(activeTrack);

exit;

}

i++;

}

j++;

}

}

function stopjump() {

Mshow.effectbar.b1.gotoAndStop(1);

Mshow.effectbar.b2.gotoAndStop(1);

Mshow.effectbar.b3.gotoAndStop(1);

Mshow.effectbar.b4.gotoAndStop(1);

Mshow.effectbar.b5.gotoAndStop(1);

Mshow.effectbar.b6.gotoAndStop(1);

Mshow.effectbar.b7.gotoAndStop(1);

}

function pausejump() {

Mshow.effectbar.b1.stop();

Mshow.effectbar.b2.stop();

Mshow.effectbar.b3.stop();

Mshow.effectbar.b4.stop();

Mshow.effectbar.b5.stop();

Mshow.effectbar.b6.stop();

Mshow.effectbar.b7.stop();

}

function playjump() {

Mshow.effectbar.b1.play();

Mshow.effectbar.b2.play();

Mshow.effectbar.b3.play();

Mshow.effectbar.b4.play();

Mshow.effectbar.b5.play();

Mshow.effectbar.b6.play();

Mshow.effectbar.b7.play();

}

function setzero() {

var i = 0;

while (i<TrackCount) {

player.hasplay[i] = 0;

i++;

}

}

function playselecte() {

if (player.maxIndex <= player.selectedIndex) {

if (player.rplay) {

randomplay();

} else if (player.mode == 0) {

player.setDefault();

} else if (player.mode == 1) {

player.select(0);

} else {

player.select(player.selectedIndex);

}

} else {

if (player.rplay) {

randomplay();

} else if (player.mode == 2) {

player.select(player.selectedIndex);

} else {

player.select(player.selectedIndex+1);

}

}

}

mySound.isLoaded = false;

mySound.onLoad = function(succ) {

if (succ) {

mySound.isLoaded = true;

player.timeNum = mySound.duration;

if (player.timeNum | false) {

LCD.timeNum.num.text = formatTime(player.timeNum/1000);

} else {

LCD.timeNum.num.text = "N/A.";

}

} else {

stopjump();

//jumpnext();

}

};

mySound.onSoundComplete = function() {

stopjump();

mySound.allcomplete = true;

Mshow.trackText.text = "";

Mshow.levelText.gotoAndStop(1);

playselecte()

};

mySound.onID3 = function() {

if (mySound.id3.TYER | false) {

var _l3 = mySound.id3.TYER;

} else if (mySound.id3.year | false) {

_l3 = mySound.id3.year;

} else {

_l3 = " N/A.";

}

LCD.year.num.text = _l3;

var _l2 = [];

var _l1;

_l1 = mySound.id3.TALB;

if (_l1 != undefined) {

_l2[_l2.length] = "Album:"+_l1;

}

_l1 = mySound.id3.TCOM;

if (_l1 != undefined) {

_l2[_l2.length] = "Composer:"+_l1;

}

_l1 = mySound.id3.TCOP;

if (_l1 != undefined) {

_l2[_l2.length] = "Copyright:"+_l1;

}

_l1 = mySound.id3.TRCK;

if (_l1 != undefined) {

_l2[_l2.length] = "Track:"+_l1;

}

_l1 = mySound.id3.TPUB;

if (_l1 != undefined) {

_l2[_l2.length] = "Publisher:"+_l1;

}

if (_l2.length>1) {

_l1 = _l2.join(", ");

} else if (_l2.length == 0) {

_l1 = "";

} else {

_l1 = _l2[0];

}

LCD.main.mainText.text = player.subject+" (Artist: "+player.artist+(_l1.length>0 ? (", ") : (""))+_l1+" ) ";

};

function drawRectangle(myMc, width, height, Xoffset, Yoffset) {

var _l1 = Xoffset;

var _l11 = Yoffset;

var _l2 = myMc;

_l1 = _l1 != null ? (_l1) : (0);

_l11 = _l11 != null ? (_l11) : (0);

_l2.moveTo(_l1, _l11);

_l2.lineTo(width+_l1, _l11);

_l2.lineTo(width+_l1, height+_l11);

_l2.lineTo(_l1, height+_l11);

_l2.lineTo(_l1, _l11);

}

function getMp3List(parentmc, label, artary, width, height) {

var mc = parentmc.createEmptyMovieClip("mc", 1);

var shapeHeight = 16;

var padding = 1;

var borderWidth = 1;

var scrollWidth = 11;

var shapeWidth = width-borderWidth-padding*3-scrollWidth;

var clientHeight = shapeHeight*label.length;

var border = mc.createEmptyMovieClip("border", 100);

border.lineStyle(1, 6710886);

drawRectangle(border, width, height, padding*-1-borderWidth-0.8, -2.8);

var background = mc.createEmptyMovieClip("background", -100);

background.beginFill(16777215, 90);

drawRectangle(background, width, height, padding*-1-borderWidth-0.2, -2.2);

var sList = mc.createEmptyMovieClip("sList", 10);

var _l2 = 0;

var clicktim = 0;

while (_l2<label.length) {

var _l1 = sList.createEmptyMovieClip("l"+_l2, _l2);

_l1.createTextField("label", 1, -3, -2.5, 200, shapeHeight);

_l1.label.autoSize = false;

_l1.label._width = width-padding*2-borderWidth*2-scrollWidth+20;

_l1.label.selectable = false;

_l1._y = shapeHeight*_l2;

_l1.index = _l2;

_l1.label.text = _l2+1+":"+label[_l2]+artary[_l2];

_l1.label.setTextFormat(fmt);

_l1.doubleclick = function() {

var _l2 = this;

var nowtim = getTimer();

_l2.clicked = nowtim;

_l2.clicked = getTimer();

var subtim = nowtim-clicktim;

clicktim = nowtim;

return (subtim<=300 ? (true) : (false));

};

_l1.onPress = function() {

var _l1 = (_ymouse-parentmc._y-mp3list.mc.sList._y)/shapeHeight | 0;

if (this.doubleclick()) {

player.select(_l1);

shape._y = _l1*shapeHeight;

}

focusShape._y = _l1*shapeHeight;

};

_l2++;

}

var shape = sList.createEmptyMovieClip("shape", -1);

shape.beginFill(65280, 30);

drawRectangle(shape, shapeWidth, shapeHeight, -1, -1);

var hintShape = sList.createEmptyMovieClip("hintShape", -2);

hintShape.beginFill(65280, 10);

drawRectangle(hintShape, shapeWidth, shapeHeight, -1, -1);

var focusShape = sList.createEmptyMovieClip("focusShape", -3);

focusShape.lineStyle(1, 65280, 50);

drawRectangle(focusShape, shapeWidth, shapeHeight, -1, -1);

mc.onMouseMove = function() {

updateAfterEvent();

hintShape._y = Math.max(0, Math.min(_ymouse-shapeHeight/2-parentmc._y, height-padding-borderWidth-shapeHeight)-(sList._y | 0));

};

var myMask = mc.createEmptyMovieClip("myMask", 99);

myMask.beginFill(0, 100);

drawRectangle(myMask, width-borderWidth-scrollWidth, height-borderWidth-padding*2, -2.5, -1.5);

sList.setMask(myMask);

var scrollbar = mc.createEmptyMovieClip("scrollbar", 97);

scrollbar.beginFill(16382457);

drawRectangle(scrollbar, scrollWidth, height-padding*2-borderWidth);

var scrollbarBorder = scrollbar.createEmptyMovieClip("scrollbarBorder", 1);

scrollbarBorder.lineStyle(1, 14935011);

drawRectangle(scrollbarBorder, scrollWidth-1, height-padding*2-borderWidth, 0, -1.5);

var scrollbutton = scrollbar.createEmptyMovieClip("scrollbutton", 2);

scrollbutton.beginFill(10066329);

drawRectangle(scrollbutton, scrollbar._width-5, 16, 1.5);

scrollbar._x = width-scrollWidth-padding*2-borderWidth-0.5;

scrollbar.onPress = function() {

this.button1 = true;

};

scrollbar.onMouseUp = function() {

this.button1 = false;

};

scrollbar.maxY = scrollbar._height-scrollbutton._height-5;

scrollbar.onMouseMove = function() {

if (this.button1) {

scrollbutton._y = Math.max(0, Math.min(_ymouse-parentmc._y-scrollbutton._height/2-2, this.maxY));

sList._y = Math.max(scrollbutton._y*clientHeight/(scrollbar._height-scrollbutton._height)*-1 | 0, myMask._height-clientHeight);

}

};

}

function fixSemiTime(time) {

var _l1 = time;

_l1>=10 ? (_l1) : ("0"+_l1);

return (_l1>=10 ? (_l1) : ("0"+_l1));

}

function formatTime(time) {

var s = "";

return (fixSemiTime(time/60 | 0)+":"+fixSemiTime(time%60 | 0));

}

function hint(obj, hintStr) {

var _l1 = obj;

_l1.onRollOver = function() {

LCD.hintText._visible = true;

LCD.hintText.text = hintStr;

LCD.main.mainText._visible = false;

};

_l1.onRollOut = function() {

LCD.hintText._visible = false;

LCD.hintText.text = "";

LCD.main.mainText._visible = true;

};

_l1.onReleaseOutside = function() {

LCD.hintText._visible = false;

LCD.hintText.text = "";

LCD.main.mainText._visible = true;

};

}

var cbackground = copyright.createEmptyMovieClip("hintShape", 1);

cbackground.beginFill(16777215, 90);

drawRectangle(cbackground, 159, 99, -3.5, -3.5);

var cborder = cbackground.createEmptyMovieClip("focusShape", 1);

cborder.lineStyle(1, 0, 50);

drawRectangle(cborder, 158, 98, -2.8, -3);

cbackground.onPress = function() {

return (false);

};

cbackground.useHandCursor = false;

var rightText = copyright.createTextField("rightText", 2, 0, -2, 153, 95);

copyright.rightText.html = true;

copyright.rightText.selectable = false;

copyright.rightText.htmlText = "<b><font color=\"#ff0000\">MP3Player</font></b><br/>----------------------------------------<br/>Version: 2.0 (2.0.1016)<br/>Author: <u><a href=\" http://landlordh.qqvip.com/\ " target=\"_blank\"><font color=\"#0066cc\">landlord</font></a></u><br/>Publish Date: 10-16-2004<br/>----------------------------------------<br/>Special thanks to <u>L3X</u>";

copyright.rightText.setTextFormat(fmt);

var mdown = false;

var xwidth = volume._width-volume.dot._width;

this.volume.onPress = function() {

mdown = true;

};

this.volume.onMouseUp = function() {

mdown = false;

};

this.volume.onMouseMove = function() {

if (mdown) {

updateAfterEvent();

var _l2 = _xmouse-volume._x;

var _l1 = 8;

volume.dot._x = Math.max(_l1, Math.min(_l2, xwidth)-1)-3;

player.volumeValue = ((volume.dot._x-1)/(volume._width-_l1-volume.dot._width-1)*100 | 0)-5;

mySound.setVolume(player.volumeValue);

LCD.hintText.text = "音量: "+player.volumeValue+"%";

if (player.volumeValue == 0) {

LCD.speaker._visible = false;

} else if (player.volumeValue == 100) {

LCD.max._visible = true;

} else {

LCD.speaker._visible = true;

LCD.max._visible = false;

}

LCD.volumeLeft._width = player.volumeValue/100*20;

LCD.volumeLeft._x = 120.2-player.volumeValue/100*20;

LCD.volumeRight._width = player.volumeValue/100*20;

}

};

this.pan.maxX = 70;

this.pan.offsetX = pan._x;

this.pan.dot._width = 18;

this.pan.dotWidth = 14;

this.pan.onPress = function() {

this.mdown = true;

};

this.pan.onMouseUp = function() {

this.mdown = false;

};

this.pan.onMouseMove = function() {

if (this.mdown) {

updateAfterEvent();

pan.dot._x = Math.max(0, Math.min(_xmouse-pan.offsetX+pan.dotWidth/2, pan.maxX))+pan.dotWidth/2;

player.panValue = (pan.dot._x-pan.dotWidth/2)/(pan.maxX-pan.dotWidth/3+4.500000)*200-100 | 0;

if (player.panValue>-15 && player.panValue<15) {

player.panValue = 0;

pan.dot._x = pan.maxX/2+pan.dotWidth/1.700000;

}

LCD.hintText.text = "Balance: "+player.panValue;

mySound.setPan(player.panValue);

LCD.pan._x = 110+player.panValue/100*10;

}

};

setInterval(function () {

if (mySound.allcomplete){

progressbar.preloadBar._x = -147;

progressbar.loadBar._x = -147;

}

else if (!mySound.isLoaded) {

progressbar.preloadBar._x = (mySound.getBytesLoaded()/mySound.getBytesTotal()*147 | 0)-147;

mySound.preloadDuration = mySound.getBytesTotal()*mySound.duration/mySound.getBytesLoaded() | 0;

LCD.timeNum.num.text = formatTime(mySound.preloadDuration/1000 | 0);

progressbar.loadBar._x = (mySound.position/mySound.preloadDuration*147 | 0)-147;

} else {

progressbar.preloadBar._x = 0;

progressbar.loadBar._x = (mySound.position/mySound.duration*147 | 0)-147;

}

}, 500);

progressbar.onMouseDown = function() {

this.button = true;

if (_ymouse>progressbar._y && _ymouse<progressbar._height+progressbar._y && _xmouse>progressbar._x && _xmouse<progressbar._x+147 && !mp3list._visible) {

progressbar.semiBar._visible = true;

progressbar.semiBar._x = Math.min(Math.max(0, Math.min(_xmouse-progressbar._x, 147))-147, progressbar.preloadBar._x);

}

};

progressbar.onMouseUp = function() {

this.button = false;

if (_ymouse>progressbar._y && _ymouse<progressbar._height+progressbar._y && _xmouse>progressbar._x && _xmouse<progressbar._x+147 && !mp3list._visible) {

mySound.start((progressbar.semiBar._x+147)/147*mySound.duration/1000 | 0);

}

progressbar.semiBar._visible = false;

};

progressbar.onMouseMove = function() {

updateAfterEvent();

if (_ymouse>progressbar._y && _ymouse<progressbar._height+progressbar._y && this.button && !mp3list._visible) {

progressbar.semiBar._x = Math.min(Math.max(0, Math.min(_xmouse-progressbar._x, 147))-147, progressbar.preloadBar._x);

}

};

btPlay.onRelease = function() {

playjump();

if (mySound.position != 0 && !mySound.reseted && player.selectedIndex != -1) {

mySound.start(mySound.position/1000);

} else if (player.selectedIndex == -1) {

player.select(0);

} else {

mySound.start(0);

}

LCD.stop._visible = false;

LCD.pause._visible = false;

LCD.play._visible = true;

};

btPause.onRelease = function() {

mySound.stop();

mySound.reseted = false;

pausejump();

LCD.stop._visible = false;

LCD.pause._visible = true;

LCD.play._visible = false;

};

btStop.onRelease = function() {

setzero();

stopjump();

LCD.stop._visible = true;

LCD.pause._visible = false;

LCD.play._visible = false;

mySound.stop();

mySound.reseted = true;

//stopjump();

//LCD.stop._visible = true;

//LCD.pause._visible = false;

//LCD.play._visible = false;

};

btPreview.onRelease = function() {

if (player.rplay) {

randomplay();

} else if (player.mode == 1 && player.selectedIndex == 0) {

player.select(player.maxIndex);

} else if (player.mode == 2) {

player.select(player.selectedIndex);

} else if ( player.selectedIndex <= 0 ) {

LCD.hintText.text = "已经是第一首";

} else {

player.select(player.selectedIndex-1);

}

};

btNext.onRelease = function() {

if (player.rplay) {

randomplay();

} else if (player.mode == 1 && player.maxIndex == player.selectedIndex) {

player.select(0);

} else if (player.mode == 2) {

player.select(player.selectedIndex);

} else if (player.maxIndex <= player.selectedIndex) {

LCD.hintText.text = "已经是最末首";

} else {

player.select(player.selectedIndex+1);

}

};

btList.onRelease = function() {

mp3list._visible = true;

};

btMode.onRelease = function() {

if (player.mode == 0) {

player.mode = 1;

LCD.repeatOne._visible = false;

LCD.repeatAll._visible = true;

LCD.hintText.text = "重复所有";

} else if (player.mode == 1) {

player.mode = 2;

LCD.repeatOne._visible = true;

LCD.repeatAll._visible = false;

LCD.hintText.text = "重复这首";

} else {

player.mode = 0;

LCD.repeatOne._visible = false;

LCD.repeatAll._visible = false;

LCD.hintText.text = "不重复";

}

};

btrplay.onRelease = function() {

if (player.rplay) {

player.rplay = false;

LCD.hintText.text = "随机→顺序";

} else {

player.rplay = true;

LCD.hintText.text = "顺序→随机";

}

};

btRight.onRelease = function() {

copyright._visible = true;

};

mp3list.btClose.onRelease = function() {

mp3list._visible = false;

};

copyright.btClose.onRelease = function() {

copyright._visible = false;

};

hint(btPreview, "上一首");

hint(btNext, "下一首");

hint(btPlay, "播放");

hint(btStop, "停止");

hint(btPause, "暂停");

hint(btList, "清单");

hint(btRight, "版权说明");

hint(progressbar, "播放进度");

hint(volume, "音量控制");

hint(pan, "音量平衡");

hint(btMode, "播放模式");

hint(btrplay, "随机播放");

---------------------------------------------------------------------------------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有